🎉 Commit initial
This commit is contained in:
commit
297aa4b61f
32 files changed
+6895
No files matched your search
@@ -0,0 +1,3 @@
|
|||||||
|
.idea
|
||||||
|
|
||||||
|
config.php
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<title>not found</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
body { text-align: center;}
|
||||||
|
h1 { font-size: 50px; }
|
||||||
|
body { font: 20px Constantia, 'Hoefler Text', "Adobe Caslon Pro", Baskerville, Georgia, Times, serif; color: #999; text-shadow: 2px 2px 2px rgba(200, 200, 200, 0.5); }
|
||||||
|
::-moz-selection{ background:#FF5E99; color:#fff; }
|
||||||
|
::selection { background:#FF5E99; color:#fff; }
|
||||||
|
details { display:block; }
|
||||||
|
a { color: rgb(36, 109, 56); text-decoration:none; }
|
||||||
|
a:hover { color: rgb(96, 73, 141) ; text-shadow: 2px 2px 2px rgba(36, 109, 56, 0.5); }
|
||||||
|
span[frown] { transform: rotate(90deg); display:inline-block; color: #bbb; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><h1>Not found</h1></summary>
|
||||||
|
<p><span frown>:(</span></p>
|
||||||
|
</details>
|
||||||
+718
@@ -0,0 +1,718 @@
|
|||||||
|
<?php
|
||||||
|
include 'log.php';
|
||||||
|
class XMLSQL{
|
||||||
|
|
||||||
|
const SELECT = 'select';
|
||||||
|
const INSERT = 'insert';
|
||||||
|
const DELETE = 'delete';
|
||||||
|
const UPDATE = 'update';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Request
|
||||||
|
*/
|
||||||
|
protected $current_request;
|
||||||
|
protected $operation;
|
||||||
|
protected $from;
|
||||||
|
protected $setID;
|
||||||
|
protected $setChild;
|
||||||
|
protected $whereID;
|
||||||
|
protected $whereChildren;
|
||||||
|
protected $position;
|
||||||
|
protected $limit;
|
||||||
|
|
||||||
|
// Path and name to the file
|
||||||
|
protected $_file;
|
||||||
|
|
||||||
|
// Primary key
|
||||||
|
protected $_primaryKey;
|
||||||
|
|
||||||
|
// Selected table
|
||||||
|
protected $_table;
|
||||||
|
|
||||||
|
// XPATH of the doc
|
||||||
|
protected $_xpath;
|
||||||
|
|
||||||
|
// Content of the XML DB File
|
||||||
|
protected $_doc;
|
||||||
|
|
||||||
|
// Name of the main root
|
||||||
|
protected $_databaseName;
|
||||||
|
|
||||||
|
// Name of each table root
|
||||||
|
protected $_tableName;
|
||||||
|
|
||||||
|
// Name of each item inside tables
|
||||||
|
protected $_itemName;
|
||||||
|
|
||||||
|
// Encoding used for the XML
|
||||||
|
protected $_encoding;
|
||||||
|
|
||||||
|
// Node buffered
|
||||||
|
protected $_buffer;
|
||||||
|
|
||||||
|
// Debug stuff
|
||||||
|
public $_debug = false;
|
||||||
|
public $_log;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
* @param $file string path to the file to read/create
|
||||||
|
* @param $pk string name of the primary key
|
||||||
|
* @param $createIfNotExist bool create the file if it doesn't exist
|
||||||
|
*/
|
||||||
|
public function __construct($file, $pk = "id", $createIfNotExist = false, $databaseName = "Database", $tableName = "table", $itemName = "item", $encoding = "utf-8"){
|
||||||
|
if($this->_debug) $this->_log = new Log('log.dat');
|
||||||
|
$this->_buffer = null;
|
||||||
|
$this->_databaseName = $databaseName;
|
||||||
|
$this->_itemName = $itemName;
|
||||||
|
$this->_tableName = $tableName;
|
||||||
|
$this->_encoding = $encoding;
|
||||||
|
$this->_primaryKey = $pk;
|
||||||
|
$this->_file = $file;
|
||||||
|
$this->_doc = new DOMDocument;
|
||||||
|
$this->_doc->preserveWhiteSpace = false;
|
||||||
|
$this->_doc->formatOutput = true;
|
||||||
|
if($this->_doc->load($this->_file)){
|
||||||
|
if($this->_debug) $this->_log->message('DB lue.');
|
||||||
|
$this->_xpath = new DOMXpath($this->_doc);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if($createIfNotExist){
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->message('création de la DB.');
|
||||||
|
$this->createDatabase($file);
|
||||||
|
}else{
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->error('fichier non trouvé lors de la création de l\'instance.');
|
||||||
|
$this->_file = null;
|
||||||
|
$this->_doc = null;
|
||||||
|
$this->xpath = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __destruct(){
|
||||||
|
if($this->_debug) $this->_log->message('fin d\'execution du script.');
|
||||||
|
$this->commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create a new XML in the path & name given in $file
|
||||||
|
*/
|
||||||
|
public function createDatabase($file){
|
||||||
|
$this->_file = $file;
|
||||||
|
$this->_doc = DOMDocument::loadXML('<?xml version="1.0" encoding="' . $this->_encoding . '"?>
|
||||||
|
<' . $this->_databaseName . '>
|
||||||
|
</' . $this->_databaseName . '>');
|
||||||
|
$this->_xpath = new DOMXpath($this->_doc);
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->message('DB créée en cache.');
|
||||||
|
return $this->commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Re-initialize the DB or erase the file if true is passed
|
||||||
|
*/
|
||||||
|
public function dropDatabase($definitely = false){
|
||||||
|
if($definitely){
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->message('fichier supprimé.');
|
||||||
|
unlink($this->_file);
|
||||||
|
}else{
|
||||||
|
$this->createDatabase($this->_file);
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->message('DB effacée.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function tableAlreadyExists($tableName){
|
||||||
|
$request = $this->_xpath->query('//' . $this->_tableName . '[@name = "'.$tableName.'"]');
|
||||||
|
if($this->_debug) $this->_log->message('Requête "tableAlreadyExist" : //' . $this->_tableName . '[@name = "'.$tableName.'"]');
|
||||||
|
if($request->length >= 1)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check if the table $tableName has the Auto-increment option
|
||||||
|
*/
|
||||||
|
public function isTableAI($tableName){
|
||||||
|
if($this->tableAlreadyExists($tableName)){
|
||||||
|
$table = $this->_xpath->query('//' . $this->_tableName . '[@name = "'.$tableName.'"]');
|
||||||
|
$ai = $this->_getAttribute('autoincrement', $table);
|
||||||
|
if($ai == 'true')
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function isLoaded(){
|
||||||
|
if($this->_doc != null)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setPrimaryKey($pk){
|
||||||
|
$this->_primaryKey = $pk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPrimaryKey(){
|
||||||
|
return $this->_primaryKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getXPath(){
|
||||||
|
return $this->_xpath;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setBuffer($node){
|
||||||
|
$this->_buffer = $node;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getBuffer($buffer){
|
||||||
|
return $this->_buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Saving the DB file
|
||||||
|
*/
|
||||||
|
public function commit(){
|
||||||
|
if($this->_doc != null && $this->_file != null){
|
||||||
|
$this->_doc->preserveWhiteSpace = false;
|
||||||
|
$this->_doc->formatOutput = true;
|
||||||
|
$this->_doc->save($this->_file);
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->message('DB sauvegardée.');
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->error('Erreur lors de l\'enregistrement.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createTable($name, $autoincrement = false, $aiDefaultValue = 0){
|
||||||
|
if($name == '*' || $this->tableAlreadyExists($name))
|
||||||
|
return false;
|
||||||
|
else{
|
||||||
|
if($autoincrement)
|
||||||
|
return $this->_insert(array('name'=>$this->_tableName, 'attributes'=>array('name'=>$name, 'autoincrement'=>'true', 'aivalue'=>$aiDefaultValue)));
|
||||||
|
else
|
||||||
|
return $this->_insert(array('name'=>$this->_tableName, 'attributes'=>array('name'=>$name)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function dropTable($table){
|
||||||
|
return $this->_delete($table);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function updateTableAIValue($tableName){
|
||||||
|
if($this->tableAlreadyExists($tableName)){
|
||||||
|
//$table = $this->selectTable($table);
|
||||||
|
$table = $this->_xpath->query('//' . $this->_tableName . '[@name = "'.$tableName.'"]');
|
||||||
|
$newValue = (int)$table->item(0)->getAttribute('aivalue') + 1;
|
||||||
|
$table->item(0)->setAttribute('aivalue', $newValue);
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->message('Nouvelle increment pour la table '.$tableName.' : '.$newValue);
|
||||||
|
return $newValue;
|
||||||
|
}
|
||||||
|
if($this->_debug)
|
||||||
|
$this->_log->error('Erreur lors de l\'attribution du nouvel increment de la table '.$table);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _getNewIncrement($table){
|
||||||
|
return $this->updateTableAIValue($table);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function pkAlreadyExists($pk, $table = '*'){
|
||||||
|
if($table == '*')
|
||||||
|
$tableTemp = $this->_xpath->query('//' . $this->_tableName . '/item[@'.$this->_primaryKey.' = "'.$pk.'"]');
|
||||||
|
else
|
||||||
|
$tableTemp = $this->_xpath->query('//' . $this->_tableName . '[@name = "'.$table.'"]/item[@'.$this->_primaryKey.' = "'.$pk.'"]');
|
||||||
|
if($tableTemp->length > 0){
|
||||||
|
if($this->_debug) $this->_log->message('table '.$table.' already have '.$pk.' as a key');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if($this->_debug) $this->_log->message('table '.$table.' doesn\'t have '.$pk.' as a key');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
private function getResult($request, $format){
|
||||||
|
switch($format){
|
||||||
|
case "node":
|
||||||
|
return $request;
|
||||||
|
break;
|
||||||
|
case "count":
|
||||||
|
return $request->length;
|
||||||
|
break;
|
||||||
|
case "array":
|
||||||
|
default:
|
||||||
|
return $this->requestToArray($request);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
public function select($what = array('*')){
|
||||||
|
if(is_string($what)) $what = array($what);
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête "SELECT" :'.implode(', ',$what));
|
||||||
|
$this->current_request = self::SELECT;
|
||||||
|
$this->operation = $what;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insert(array $what = null, $id = null){
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête "INSERT"');
|
||||||
|
$this->current_request = self::INSERT;
|
||||||
|
if($what != null){
|
||||||
|
$this->operation = $what;
|
||||||
|
if($this->_debug) $this->_log->message('inserting : '.implode(', ', $what));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
throw new Exception('You must indicate something to insert');
|
||||||
|
if($this->_debug) $this->_log->error('Parameter for "INSERT" was wrong or empty.');
|
||||||
|
}
|
||||||
|
$this->setID = $id;
|
||||||
|
if($this->_debug && $id!=null) $this->_log->message('ID = '.$id);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete(){
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête "DELETE"');
|
||||||
|
$this->current_request = self::DELETE;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update($from){
|
||||||
|
$this->current_request = self::UPDATE;
|
||||||
|
$this->from = $from;
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête "UPDATE" : FROM = '.$this->from);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function from($from){
|
||||||
|
if($this->tableAlreadyExists($from))
|
||||||
|
$this->from = $from;
|
||||||
|
else
|
||||||
|
$this->from = '*';
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête : FROM = '.$this->from);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function into($to){
|
||||||
|
if($this->tableAlreadyExists($to))
|
||||||
|
$this->from = $to;
|
||||||
|
else
|
||||||
|
throw new Exception('This table doesn\'t exist');
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête : INTO = '.$this->from);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function limit($numStart=0, $numFinish=null){
|
||||||
|
if(is_int($numStart)){
|
||||||
|
if(isset($numFinish) && is_int($numFinish))
|
||||||
|
$this->limit = array($numStart, $numFinish);
|
||||||
|
else
|
||||||
|
$this->limit = $numStart;
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête : LIMIT = '.$this->limit);
|
||||||
|
}else{
|
||||||
|
if($this->_debug) $this->_log->error('Construction de la requête : les limites ne sont pas des entiers : '.$numStart.' et '.$numFinish);
|
||||||
|
}
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set(array $setChild = null, array $setID = null){
|
||||||
|
$this->setID = $setID;
|
||||||
|
$this->setChild = $setChild;
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête : SET ID = '.$this->setID.' OR CHILD = '.$this->setChild);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function where($whereID = null, array $whereChildren = null){
|
||||||
|
$this->whereID = $whereID;
|
||||||
|
$this->whereChildren = $whereChildren;
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête : WHERE ID = "'.$this->whereID.'" OR child = "'.$this->whereChildren.'"');
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toPosition($to){
|
||||||
|
if(is_numeric($to)){
|
||||||
|
$this->position = $to;
|
||||||
|
if($this->_debug) $this->_log->message('Construction de la requête : TO = '.$this->position);
|
||||||
|
}else if($this->_debug) $this->_log->error('The position enter wasn\'t a number.');
|
||||||
|
return $this;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function query(){
|
||||||
|
$stmt = $this->_prepareStmt();
|
||||||
|
if(is_bool($stmt)){
|
||||||
|
if($this->_debug) $this->_log->message('Resultat de la requete : '.$stmt);
|
||||||
|
return $stmt;
|
||||||
|
}
|
||||||
|
return $this->_requestToArray($stmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _prepareStmt(){
|
||||||
|
switch($this->current_request){
|
||||||
|
case self::SELECT:
|
||||||
|
return $this->_select($this->operation, $this->from, $this->whereID, $this->whereChildren, '/'.$this->_itemName);
|
||||||
|
break;
|
||||||
|
case self::INSERT:
|
||||||
|
return $this->_insertItem($this->setID, null, $this->operation, $this->from, $this->position);
|
||||||
|
break;
|
||||||
|
case self::DELETE:
|
||||||
|
return $this->_delete($this->from, $this->whereID);
|
||||||
|
break;
|
||||||
|
case self::UPDATE:
|
||||||
|
return $this->_update($this->from, $this->setID, $this->setChild, $this->whereID, $this->whereChildren);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new Exception('no request detected.');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _getAttribute($attribute, $node){
|
||||||
|
if($node->length == 1){
|
||||||
|
return $node->item(0)->getAttribute($attribute);
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*private function _getChildValue($child, $node){
|
||||||
|
$nodeArray = array();
|
||||||
|
if($node->length == 1){
|
||||||
|
$nodeArray = $this->_requestToArray($node);
|
||||||
|
if(isset($nodeArray[0]['childs'][$child]))
|
||||||
|
return $nodeArray[0]['childs'][$child];
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
// Reset the request param between each one of them
|
||||||
|
private function _cleanRequest(){
|
||||||
|
$this->operation = null;
|
||||||
|
$this->from = null;
|
||||||
|
$this->whereID = null;
|
||||||
|
$this->whereChildren = null;
|
||||||
|
$this->position = null;
|
||||||
|
$this->limit = null;
|
||||||
|
$this->setChild = null;
|
||||||
|
$this->setID = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _requestToArray($request){
|
||||||
|
$return = array();
|
||||||
|
$number = 0;
|
||||||
|
$what = $this->operation;
|
||||||
|
if(count($what) == 1 && $what[0] != '*'){
|
||||||
|
$return = array();
|
||||||
|
foreach($request as $element){
|
||||||
|
$nodes = $element->childNodes;
|
||||||
|
$length = $nodes->length;
|
||||||
|
for ($i = 0; $i <= $length -1; $i++) {
|
||||||
|
if($nodes->item($i)->nodeName == $what[0])
|
||||||
|
$return[] = $nodes->item($i)->nodeValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->_cleanRequest();
|
||||||
|
if($this->_debug) $this->_log->message('Resultat de la requete : '.implode(', ', $return));
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
foreach($request as $element){
|
||||||
|
$elementValue = $element->attributes->item(0)->value;
|
||||||
|
$return[$number]['name'] = $this->_itemName;
|
||||||
|
$return[$number]['attributes'] = array($this->_primaryKey => $elementValue);
|
||||||
|
$return[$number]['childs'] = array();
|
||||||
|
|
||||||
|
//Retrieving Attributes
|
||||||
|
$attributes = $element->attributes;
|
||||||
|
$length = $attributes->length;
|
||||||
|
for ($i = 0; $i <= $length -1 ; $i++) {
|
||||||
|
if($attributes->item($i)->name != '')
|
||||||
|
$return[$number]['attributes'][$attributes->item($i)->name] = $attributes->item($i)->value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Retrivieving childs
|
||||||
|
$nodes = $element->childNodes;
|
||||||
|
$length = $nodes->length;
|
||||||
|
for ($i = 0; $i <= $length -1; $i++) {
|
||||||
|
if($nodes->item($i)->nodeName != '')
|
||||||
|
$return[$number]['childs'][$nodes->item($i)->nodeName] = $nodes->item($i)->nodeValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$number++;
|
||||||
|
}
|
||||||
|
if(isset($this->limit) && is_array($this->limit)){
|
||||||
|
krsort($return);
|
||||||
|
$limit = $this->limit;
|
||||||
|
$return = array_slice($return, $limit[0], $limit[1]);
|
||||||
|
}else if(is_int($this->limit) && $this->limit != 0){
|
||||||
|
krsort($return);
|
||||||
|
$return = array_slice($return, 0, $this->limit);
|
||||||
|
}
|
||||||
|
if($this->_debug) {
|
||||||
|
$debug_text = '';
|
||||||
|
foreach($return as $indice=>$value)
|
||||||
|
$debug_text .= $indice.'=>'.$value['attributes']['id'];
|
||||||
|
$this->_log->message('Request to array => result : '.$debug_text);
|
||||||
|
}
|
||||||
|
$this->_cleanRequest();
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO forceinsert?
|
||||||
|
private function _update($from, $setID = null, $setChild = null, $whereID = null, $whereChildren = null, $forceInsert = false){
|
||||||
|
$node = $this->_select(array('*'), $from, $whereID, $whereChildren, '/'.$this->_itemName);
|
||||||
|
$nodeArray = $this->_requestToArray($node);
|
||||||
|
if($node != null && $nodeArray != null){
|
||||||
|
if($setChild != null){
|
||||||
|
if($this->_debug) $this->_log->message('Updating '.count($setChild).' children');
|
||||||
|
foreach($setChild as $indice=>$value)
|
||||||
|
$this->_updateChildValue($from, $node, $indice, $value);
|
||||||
|
}
|
||||||
|
if($setID != null){
|
||||||
|
if($this->_debug) $this->_log->message('Updating ID '.$nodeArray[0]["attributes"][$this->_primaryKey].' into '.$setID);
|
||||||
|
$this->_updateItemID($from, $nodeArray, $setID, $forceInsert);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO requete pour recevoir plusieurs valeurs what
|
||||||
|
private function _select(array $what, $from, $id = null, $childs = null, $item = ''){
|
||||||
|
$attribute = '';
|
||||||
|
$child = '';
|
||||||
|
if($id != null && !is_array($id)){
|
||||||
|
$attribute = '[@' . $this->_primaryKey . ' = "' . $id . '"]';
|
||||||
|
}
|
||||||
|
if($childs != null && is_array($childs)){
|
||||||
|
foreach($childs as $childName=>$childValue)
|
||||||
|
$child .= '[' . $childName . '="' . $childValue . '"]';
|
||||||
|
}
|
||||||
|
if($from == '*')
|
||||||
|
$request = $this->_xpath->query('//item'.$attribute.$child);
|
||||||
|
else
|
||||||
|
$request = $this->_xpath->query('//' . $this->_tableName . '[@name = "'.$from.'"]'.$item.$attribute.$child);
|
||||||
|
return $request;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _arrayToNode($node){
|
||||||
|
if(!is_array($node) || !in_array($node['name'], array($this->_tableName, $this->_itemName)))
|
||||||
|
return;
|
||||||
|
$element = $this->_doc->createElement($node['name']);
|
||||||
|
if(isset($node['attributes'])){
|
||||||
|
foreach($node['attributes'] as $attributeName=>$attributeValue){
|
||||||
|
if($attributeName != '')
|
||||||
|
$element->setAttribute($attributeName, htmlspecialchars(stripslashes($attributeValue)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(isset($node['childs'])){
|
||||||
|
foreach($node['childs'] as $childName=>$childValue){
|
||||||
|
if($childName != ''){
|
||||||
|
$newElement = $this->_doc->createElement($childName, $childValue);
|
||||||
|
$element->appendChild($newElement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $element;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows you to insert a node into your DB thanks to an array
|
||||||
|
* @param $node array with 'name' 'attributes' and 'childs'
|
||||||
|
* @param $table string in which node you want to put it. By default, the root of the xml file
|
||||||
|
* @param $position string 'before' or 'after'
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
private function _insertItem($id = null, $attributes = null, $childs = null, $table, $position = null){
|
||||||
|
if($id == null && $this->isTableAI($table)){
|
||||||
|
$id = $this->_getNewIncrement($table);
|
||||||
|
}
|
||||||
|
else if(($id == null && !$this->isTableAI($table)) || ($id != null && $this->isTableAI($table)))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if($attributes == null)
|
||||||
|
$attributes = array($this->_primaryKey=>$id);
|
||||||
|
else
|
||||||
|
$attributes += array($this->_primaryKey=>$id);
|
||||||
|
if($this->tableAlreadyExists($table) && !$this->pkAlreadyExists($id, $table))
|
||||||
|
return $this->_insert(array('name'=>$this->_itemName, 'attributes'=>$attributes, 'childs'=>$childs), $table, $position);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO $position
|
||||||
|
private function _insert(array $node, $table = null, $position = null){
|
||||||
|
if(isset($node[0]))
|
||||||
|
$node = $node[0];
|
||||||
|
if(!is_array($node) || !isset($node['name']) || !isset($node['attributes'])){
|
||||||
|
throw new Exception('The node is not well formated.');
|
||||||
|
}
|
||||||
|
// Creating the node from an array
|
||||||
|
$element = $this->_arrayToNode($node);
|
||||||
|
|
||||||
|
// Inserting the node into the DB
|
||||||
|
// case : creation of a new table
|
||||||
|
if($table == null && !$this->tableAlreadyExists($node['name'])){
|
||||||
|
$this->_doc->firstChild->appendChild($element);
|
||||||
|
}else if($table != null){
|
||||||
|
// case : insertion into the end of table
|
||||||
|
if(!$this->tableAlreadyExists($table) || $this->pkAlreadyExists($node['attributes'][$this->_primaryKey], $table)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$tempTable = $this->_xpath->query('//' . $this->_tableName . '[@name = "'.$table.'"]/item');
|
||||||
|
// $totalItemInTable = $this->selectAllFromTable($table, 'count');
|
||||||
|
$totalItemInTable = $tempTable->length;
|
||||||
|
if($position == null || $position < $totalItemInTable){
|
||||||
|
$request = $this->_xpath->query('//' . $this->_tableName . '[@name = "'.$table.'"]');
|
||||||
|
$request->item(0)->appendChild($element);
|
||||||
|
}else{
|
||||||
|
$itemsAfter = $this->selectAllFromTable($table, 'node');
|
||||||
|
$itemAfter = $itemsAfter->item($position-1);
|
||||||
|
$itemAfter->parentNode->insertBefore($element, $itemAfter);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return $this->commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param $table string
|
||||||
|
* @param $oldAttribute string name of the attribute you want to change
|
||||||
|
* @param $newAttribute array name/value of the attribute you want to add
|
||||||
|
* @param $forceInsert bool
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateItemAttribute($table, $oldAttribute, $newAttribute, $forceInsert = false){
|
||||||
|
$request = $this->select($table, null, array($oldAttribute[0]=>$oldAttribute[1]), null, 'node', '/'.$this->_itemName);
|
||||||
|
if($request->length == 1){
|
||||||
|
if(!$forceInsert){
|
||||||
|
$request->item(0)->setAttribute($oldAttribute[0],$newAttribute[1]);
|
||||||
|
}else{
|
||||||
|
$request->item(0)->setAttribute($newAttribute[0],$newAttribute[1]);
|
||||||
|
}
|
||||||
|
return $this->commit();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _updateItemID($table, $node, $newAttribute, $forceInsert = false){
|
||||||
|
if($this->pkAlreadyExists($node[0]["attributes"][$this->_primaryKey], $table) && $newAttribute != $node[0]["attributes"][$this->_primaryKey]){
|
||||||
|
$request = $this->_select(array('*'), $table, $node[0]["attributes"][$this->_primaryKey], null, $item = '/'.$this->_itemName);
|
||||||
|
$request->item(0)->setAttribute($this->_primaryKey,$newAttribute);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param $table string
|
||||||
|
* @param $value string new value of the node
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateItemValue($table, $attribute = null, $child = null, $value){
|
||||||
|
$request = $this->select($table, null, array($attribute[0]=>$attribute[1]), $child, 'node', '/'.$this->_itemName);
|
||||||
|
//$request = $this->_xpath->query('//'.$node.'[@' . $attribute[0] . ' = "' . $attribute[1] . '"]');
|
||||||
|
if($request->length == 1){
|
||||||
|
$request = $request->item(0);
|
||||||
|
$newText = new DOMText($value);
|
||||||
|
$request->removeChild($request->firstChild);
|
||||||
|
$request->appendChild($newText);
|
||||||
|
return $this->commit();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateChildValue($table, $node, $child, $value){
|
||||||
|
if($node->length == 1){
|
||||||
|
$node = $node->item(0);
|
||||||
|
$newChild = $this->_doc->createElement($child, $value);
|
||||||
|
$old_element_childNodes = $node->childNodes;
|
||||||
|
$length = $old_element_childNodes->length;
|
||||||
|
$index = 0;
|
||||||
|
for($i = 0; $i < $length; $i++)
|
||||||
|
{
|
||||||
|
if($old_element_childNodes->item($i)->nodeName == $child){
|
||||||
|
$index = $i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//$request = $node->getElementsByTagName($child)->item(0);
|
||||||
|
if($node->replaceChild($newChild, $old_element_childNodes->item($index)))
|
||||||
|
return $this->commit();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _updateChildValue($table, $node, $child, $value){
|
||||||
|
if($node->length == 1){
|
||||||
|
$node = $node->item(0);
|
||||||
|
$value = htmlspecialchars(stripslashes($value));
|
||||||
|
$newChild = $this->_doc->createElement($child, $value);
|
||||||
|
$old_element_childNodes = $node->childNodes;
|
||||||
|
$length = $old_element_childNodes->length;
|
||||||
|
$index = 0;
|
||||||
|
for($i = 0; $i < $length; $i++)
|
||||||
|
{
|
||||||
|
if($old_element_childNodes->item($i)->nodeName == $child){
|
||||||
|
$index = $i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//$request = $node->getElementsByTagName($child)->item(0);
|
||||||
|
if($node->replaceChild($newChild, $old_element_childNodes->item($index)))
|
||||||
|
return $this->commit();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete an entry
|
||||||
|
* @param $table name of the table in which the entry is
|
||||||
|
* @param $id $attributes array where condition(s)
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
private function _delete($table, $id = null){
|
||||||
|
if($id != null)
|
||||||
|
$request = $this->_select (array('*'), $table, $id, null, '/'.$this->_itemName);
|
||||||
|
//$request = $this->selectFromPK($table, $id, 'node')->item(0);
|
||||||
|
else
|
||||||
|
$request = $this->_select (array('*'), $table);
|
||||||
|
if($request == null)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
$request = $request->item(0);
|
||||||
|
try{
|
||||||
|
$request->parentNode->removeChild($request);
|
||||||
|
}catch(Exception $e){
|
||||||
|
echo $e->getMessage();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return $this->commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function move($node, $to, $position = null){
|
||||||
|
$this->_buffer = $node;
|
||||||
|
if($this->deleteNode($node)){
|
||||||
|
$nodeArray = $this->requestToArray($this->_buffer);
|
||||||
|
return $this->_insert($nodeArray, $to, $position);
|
||||||
|
}else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
<?php
|
||||||
|
return [
|
||||||
|
'from_name' => '',
|
||||||
|
'from_email' => '',
|
||||||
|
'bcc' => '',
|
||||||
|
];
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
* {
|
||||||
|
float: none; /* Screens are not big enough to account for floats */
|
||||||
|
background: #fff; /* As much contrast as possible */
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Slightly reducing font size to reduce need to scroll */
|
||||||
|
body { font-size: 80%; }
|
||||||
+36
@@ -0,0 +1,36 @@
|
|||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Blueprint CSS Framework 1.0
|
||||||
|
http://blueprintcss.org
|
||||||
|
|
||||||
|
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||||
|
* See README for instructions on how to use Blueprint.
|
||||||
|
* For credits and origins, see AUTHORS.
|
||||||
|
* This is a compressed file. See the sources in the 'src' directory.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* ie.css */
|
||||||
|
body {text-align:center;}
|
||||||
|
.container {text-align:left;}
|
||||||
|
* html .column, * html .span-1, * html .span-2, * html .span-3, * html .span-4, * html .span-5, * html .span-6, * html .span-7, * html .span-8, * html .span-9, * html .span-10, * html .span-11, * html .span-12, * html .span-13, * html .span-14, * html .span-15, * html .span-16, * html .span-17, * html .span-18, * html .span-19, * html .span-20, * html .span-21, * html .span-22, * html .span-23, * html .span-24 {display:inline;overflow-x:hidden;}
|
||||||
|
* html legend {margin:0px -8px 16px 0;padding:0;}
|
||||||
|
sup {vertical-align:text-top;}
|
||||||
|
sub {vertical-align:text-bottom;}
|
||||||
|
html>body p code {*white-space:normal;}
|
||||||
|
hr {margin:-8px auto 11px;}
|
||||||
|
img {-ms-interpolation-mode:bicubic;}
|
||||||
|
.clearfix, .container {display:inline-block;}
|
||||||
|
* html .clearfix, * html .container {height:1%;}
|
||||||
|
fieldset {padding-top:0;}
|
||||||
|
legend {margin-top:-0.2em;margin-bottom:1em;margin-left:-0.5em;}
|
||||||
|
textarea {overflow:auto;}
|
||||||
|
label {vertical-align:middle;position:relative;top:-0.25em;}
|
||||||
|
input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;}
|
||||||
|
input.text:focus, input.title:focus {border-color:#666;}
|
||||||
|
input.text, input.title, textarea, select {margin:0.5em 0;}
|
||||||
|
input.checkbox, input.radio {position:relative;top:.25em;}
|
||||||
|
form.inline div, form.inline p {vertical-align:middle;}
|
||||||
|
form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;}
|
||||||
|
button, input.button {position:relative;top:0.25em;}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Blueprint CSS Framework 1.0
|
||||||
|
http://blueprintcss.org
|
||||||
|
|
||||||
|
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||||
|
* See README for instructions on how to use Blueprint.
|
||||||
|
* For credits and origins, see AUTHORS.
|
||||||
|
* This is a compressed file. See the sources in the 'src' directory.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* print.css */
|
||||||
|
body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
|
||||||
|
.container {background:none;}
|
||||||
|
hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
|
||||||
|
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||||
|
h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
|
||||||
|
code {font:.9em "Courier New", Monaco, Courier, monospace;}
|
||||||
|
a img {border:none;}
|
||||||
|
p img.top {margin-top:0;}
|
||||||
|
blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
|
||||||
|
.small {font-size:.9em;}
|
||||||
|
.large {font-size:1.1em;}
|
||||||
|
.quiet {color:#999;}
|
||||||
|
.hide {display:none;}
|
||||||
|
a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
|
||||||
|
a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}
|
||||||
+266
@@ -0,0 +1,266 @@
|
|||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Blueprint CSS Framework 1.0
|
||||||
|
http://blueprintcss.org
|
||||||
|
|
||||||
|
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||||
|
* See README for instructions on how to use Blueprint.
|
||||||
|
* For credits and origins, see AUTHORS.
|
||||||
|
* This is a compressed file. See the sources in the 'src' directory.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* reset.css */
|
||||||
|
html {margin:0;padding:0;border:0;}
|
||||||
|
body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
|
||||||
|
article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
|
||||||
|
body {line-height:1.5;background:white;}
|
||||||
|
table {border-collapse:separate;border-spacing:0;}
|
||||||
|
caption, th, td {text-align:left;font-weight:normal;float:none !important;}
|
||||||
|
table, th, td {vertical-align:middle;}
|
||||||
|
blockquote:before, blockquote:after, q:before, q:after {content:'';}
|
||||||
|
blockquote, q {quotes:"" "";}
|
||||||
|
a img {border:none;}
|
||||||
|
:focus {outline:0;}
|
||||||
|
|
||||||
|
/* typography.css */
|
||||||
|
html {font-size:100.01%;}
|
||||||
|
body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
|
||||||
|
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
|
||||||
|
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
|
||||||
|
h2 {font-size:2em;margin-bottom:0.75em;}
|
||||||
|
h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
|
||||||
|
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
|
||||||
|
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
|
||||||
|
h6 {font-size:1em;font-weight:bold;}
|
||||||
|
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
|
||||||
|
p {margin:0 0 1.5em;}
|
||||||
|
.left {float:left !important;}
|
||||||
|
p .left {margin:1.5em 1.5em 1.5em 0;padding:0;}
|
||||||
|
.right {float:right !important;}
|
||||||
|
p .right {margin:1.5em 0 1.5em 1.5em;padding:0;}
|
||||||
|
a:focus, a:hover {color:#09f;}
|
||||||
|
a {color:#06c;text-decoration:underline;}
|
||||||
|
blockquote {margin:1.5em;color:#666;font-style:italic;}
|
||||||
|
strong, dfn {font-weight:bold;}
|
||||||
|
em, dfn {font-style:italic;}
|
||||||
|
sup, sub {line-height:0;}
|
||||||
|
abbr, acronym {border-bottom:1px dotted #666;}
|
||||||
|
address {margin:0 0 1.5em;font-style:italic;}
|
||||||
|
del {color:#666;}
|
||||||
|
pre {margin:1.5em 0;white-space:pre;}
|
||||||
|
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
|
||||||
|
li ul, li ol {margin:0;}
|
||||||
|
ul, ol {margin:0 1.5em 1.5em 0;padding-left:1.5em;}
|
||||||
|
ul {list-style-type:disc;}
|
||||||
|
ol {list-style-type:decimal;}
|
||||||
|
dl {margin:0 0 1.5em 0;}
|
||||||
|
dl dt {font-weight:bold;}
|
||||||
|
dd {margin-left:1.5em;}
|
||||||
|
table {margin-bottom:1.4em;width:100%;}
|
||||||
|
th {font-weight:bold;}
|
||||||
|
thead th {background:#c3d9ff;}
|
||||||
|
th, td, caption {padding:4px 10px 4px 5px;}
|
||||||
|
tbody tr:nth-child(even) td, tbody tr.even td {background:#e5ecf9;}
|
||||||
|
tfoot {font-style:italic;}
|
||||||
|
caption {background:#eee;}
|
||||||
|
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
|
||||||
|
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
|
||||||
|
.hide {display:none;}
|
||||||
|
.quiet {color:#666;}
|
||||||
|
.loud {color:#000;}
|
||||||
|
.highlight {background:#ff0;}
|
||||||
|
.added {background:#060;color:#fff;}
|
||||||
|
.removed {background:#900;color:#fff;}
|
||||||
|
.first {margin-left:0;padding-left:0;}
|
||||||
|
.last {margin-right:0;padding-right:0;}
|
||||||
|
.top {margin-top:0;padding-top:0;}
|
||||||
|
.bottom {margin-bottom:0;padding-bottom:0;}
|
||||||
|
|
||||||
|
/* forms.css */
|
||||||
|
label {font-weight:bold;}
|
||||||
|
fieldset {padding:0 1.4em 1.4em 1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
|
||||||
|
legend {font-weight:bold;font-size:1.2em;margin-top:-0.2em;margin-bottom:1em;}
|
||||||
|
fieldset, #IE8#HACK {padding-top:1.4em;}
|
||||||
|
legend, #IE8#HACK {margin-top:0;margin-bottom:0;}
|
||||||
|
input[type=text], input[type=password], input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;}
|
||||||
|
input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus {border-color:#666;}
|
||||||
|
select {background-color:#fff;border-width:1px;border-style:solid;}
|
||||||
|
input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
|
||||||
|
input.text, input.title {width:300px;padding:5px;}
|
||||||
|
input.title {font-size:1.5em;}
|
||||||
|
textarea {width:390px;height:250px;padding:5px;}
|
||||||
|
form.inline {line-height:3;}
|
||||||
|
form.inline p {margin-bottom:0;}
|
||||||
|
.error, .alert, .notice, .success, .info {padding:0.8em;margin-bottom:1em;border:2px solid #ddd;}
|
||||||
|
.error, .alert {background:#fbe3e4;color:#8a1f11;border-color:#fbc2c4;}
|
||||||
|
.notice {background:#fff6bf;color:#514721;border-color:#ffd324;}
|
||||||
|
.success {background:#e6efc2;color:#264409;border-color:#c6d880;}
|
||||||
|
.info {background:#d5edf8;color:#205791;border-color:#92cae4;}
|
||||||
|
.error a, .alert a {color:#8a1f11;}
|
||||||
|
.notice a {color:#514721;}
|
||||||
|
.success a {color:#264409;}
|
||||||
|
.info a {color:#205791;}
|
||||||
|
|
||||||
|
/* grid.css */
|
||||||
|
.container {width:950px;margin:0 auto;}
|
||||||
|
.showgrid {background:url(src/grid.png);}
|
||||||
|
.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;}
|
||||||
|
.last {margin-right:0;}
|
||||||
|
.span-1 {width:30px;}
|
||||||
|
.span-2 {width:70px;}
|
||||||
|
.span-3 {width:110px;}
|
||||||
|
.span-4 {width:150px;}
|
||||||
|
.span-5 {width:190px;}
|
||||||
|
.span-6 {width:230px;}
|
||||||
|
.span-7 {width:270px;}
|
||||||
|
.span-8 {width:310px;}
|
||||||
|
.span-9 {width:350px;}
|
||||||
|
.span-10 {width:390px;}
|
||||||
|
.span-11 {width:430px;}
|
||||||
|
.span-12 {width:470px;}
|
||||||
|
.span-13 {width:510px;}
|
||||||
|
.span-14 {width:550px;}
|
||||||
|
.span-15 {width:590px;}
|
||||||
|
.span-16 {width:630px;}
|
||||||
|
.span-17 {width:670px;}
|
||||||
|
.span-18 {width:710px;}
|
||||||
|
.span-19 {width:750px;}
|
||||||
|
.span-20 {width:790px;}
|
||||||
|
.span-21 {width:830px;}
|
||||||
|
.span-22 {width:870px;}
|
||||||
|
.span-23 {width:910px;}
|
||||||
|
.span-24 {width:950px;margin-right:0;}
|
||||||
|
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px;border-right-width:1px;padding-left:5px;padding-right:5px;}
|
||||||
|
input.span-1, textarea.span-1 {width:18px;}
|
||||||
|
input.span-2, textarea.span-2 {width:58px;}
|
||||||
|
input.span-3, textarea.span-3 {width:98px;}
|
||||||
|
input.span-4, textarea.span-4 {width:138px;}
|
||||||
|
input.span-5, textarea.span-5 {width:178px;}
|
||||||
|
input.span-6, textarea.span-6 {width:218px;}
|
||||||
|
input.span-7, textarea.span-7 {width:258px;}
|
||||||
|
input.span-8, textarea.span-8 {width:298px;}
|
||||||
|
input.span-9, textarea.span-9 {width:338px;}
|
||||||
|
input.span-10, textarea.span-10 {width:378px;}
|
||||||
|
input.span-11, textarea.span-11 {width:418px;}
|
||||||
|
input.span-12, textarea.span-12 {width:458px;}
|
||||||
|
input.span-13, textarea.span-13 {width:498px;}
|
||||||
|
input.span-14, textarea.span-14 {width:538px;}
|
||||||
|
input.span-15, textarea.span-15 {width:578px;}
|
||||||
|
input.span-16, textarea.span-16 {width:618px;}
|
||||||
|
input.span-17, textarea.span-17 {width:658px;}
|
||||||
|
input.span-18, textarea.span-18 {width:698px;}
|
||||||
|
input.span-19, textarea.span-19 {width:738px;}
|
||||||
|
input.span-20, textarea.span-20 {width:778px;}
|
||||||
|
input.span-21, textarea.span-21 {width:818px;}
|
||||||
|
input.span-22, textarea.span-22 {width:858px;}
|
||||||
|
input.span-23, textarea.span-23 {width:898px;}
|
||||||
|
input.span-24, textarea.span-24 {width:938px;}
|
||||||
|
.append-1 {padding-right:40px;}
|
||||||
|
.append-2 {padding-right:80px;}
|
||||||
|
.append-3 {padding-right:120px;}
|
||||||
|
.append-4 {padding-right:160px;}
|
||||||
|
.append-5 {padding-right:200px;}
|
||||||
|
.append-6 {padding-right:240px;}
|
||||||
|
.append-7 {padding-right:280px;}
|
||||||
|
.append-8 {padding-right:320px;}
|
||||||
|
.append-9 {padding-right:360px;}
|
||||||
|
.append-10 {padding-right:400px;}
|
||||||
|
.append-11 {padding-right:440px;}
|
||||||
|
.append-12 {padding-right:480px;}
|
||||||
|
.append-13 {padding-right:520px;}
|
||||||
|
.append-14 {padding-right:560px;}
|
||||||
|
.append-15 {padding-right:600px;}
|
||||||
|
.append-16 {padding-right:640px;}
|
||||||
|
.append-17 {padding-right:680px;}
|
||||||
|
.append-18 {padding-right:720px;}
|
||||||
|
.append-19 {padding-right:760px;}
|
||||||
|
.append-20 {padding-right:800px;}
|
||||||
|
.append-21 {padding-right:840px;}
|
||||||
|
.append-22 {padding-right:880px;}
|
||||||
|
.append-23 {padding-right:920px;}
|
||||||
|
.prepend-1 {padding-left:40px;}
|
||||||
|
.prepend-2 {padding-left:80px;}
|
||||||
|
.prepend-3 {padding-left:120px;}
|
||||||
|
.prepend-4 {padding-left:160px;}
|
||||||
|
.prepend-5 {padding-left:200px;}
|
||||||
|
.prepend-6 {padding-left:240px;}
|
||||||
|
.prepend-7 {padding-left:280px;}
|
||||||
|
.prepend-8 {padding-left:320px;}
|
||||||
|
.prepend-9 {padding-left:360px;}
|
||||||
|
.prepend-10 {padding-left:400px;}
|
||||||
|
.prepend-11 {padding-left:440px;}
|
||||||
|
.prepend-12 {padding-left:480px;}
|
||||||
|
.prepend-13 {padding-left:520px;}
|
||||||
|
.prepend-14 {padding-left:560px;}
|
||||||
|
.prepend-15 {padding-left:600px;}
|
||||||
|
.prepend-16 {padding-left:640px;}
|
||||||
|
.prepend-17 {padding-left:680px;}
|
||||||
|
.prepend-18 {padding-left:720px;}
|
||||||
|
.prepend-19 {padding-left:760px;}
|
||||||
|
.prepend-20 {padding-left:800px;}
|
||||||
|
.prepend-21 {padding-left:840px;}
|
||||||
|
.prepend-22 {padding-left:880px;}
|
||||||
|
.prepend-23 {padding-left:920px;}
|
||||||
|
.border {padding-right:4px;margin-right:5px;border-right:1px solid #ddd;}
|
||||||
|
.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #ddd;}
|
||||||
|
.pull-1 {margin-left:-40px;}
|
||||||
|
.pull-2 {margin-left:-80px;}
|
||||||
|
.pull-3 {margin-left:-120px;}
|
||||||
|
.pull-4 {margin-left:-160px;}
|
||||||
|
.pull-5 {margin-left:-200px;}
|
||||||
|
.pull-6 {margin-left:-240px;}
|
||||||
|
.pull-7 {margin-left:-280px;}
|
||||||
|
.pull-8 {margin-left:-320px;}
|
||||||
|
.pull-9 {margin-left:-360px;}
|
||||||
|
.pull-10 {margin-left:-400px;}
|
||||||
|
.pull-11 {margin-left:-440px;}
|
||||||
|
.pull-12 {margin-left:-480px;}
|
||||||
|
.pull-13 {margin-left:-520px;}
|
||||||
|
.pull-14 {margin-left:-560px;}
|
||||||
|
.pull-15 {margin-left:-600px;}
|
||||||
|
.pull-16 {margin-left:-640px;}
|
||||||
|
.pull-17 {margin-left:-680px;}
|
||||||
|
.pull-18 {margin-left:-720px;}
|
||||||
|
.pull-19 {margin-left:-760px;}
|
||||||
|
.pull-20 {margin-left:-800px;}
|
||||||
|
.pull-21 {margin-left:-840px;}
|
||||||
|
.pull-22 {margin-left:-880px;}
|
||||||
|
.pull-23 {margin-left:-920px;}
|
||||||
|
.pull-24 {margin-left:-960px;}
|
||||||
|
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
|
||||||
|
.push-1 {margin:0 -40px 1.5em 40px;}
|
||||||
|
.push-2 {margin:0 -80px 1.5em 80px;}
|
||||||
|
.push-3 {margin:0 -120px 1.5em 120px;}
|
||||||
|
.push-4 {margin:0 -160px 1.5em 160px;}
|
||||||
|
.push-5 {margin:0 -200px 1.5em 200px;}
|
||||||
|
.push-6 {margin:0 -240px 1.5em 240px;}
|
||||||
|
.push-7 {margin:0 -280px 1.5em 280px;}
|
||||||
|
.push-8 {margin:0 -320px 1.5em 320px;}
|
||||||
|
.push-9 {margin:0 -360px 1.5em 360px;}
|
||||||
|
.push-10 {margin:0 -400px 1.5em 400px;}
|
||||||
|
.push-11 {margin:0 -440px 1.5em 440px;}
|
||||||
|
.push-12 {margin:0 -480px 1.5em 480px;}
|
||||||
|
.push-13 {margin:0 -520px 1.5em 520px;}
|
||||||
|
.push-14 {margin:0 -560px 1.5em 560px;}
|
||||||
|
.push-15 {margin:0 -600px 1.5em 600px;}
|
||||||
|
.push-16 {margin:0 -640px 1.5em 640px;}
|
||||||
|
.push-17 {margin:0 -680px 1.5em 680px;}
|
||||||
|
.push-18 {margin:0 -720px 1.5em 720px;}
|
||||||
|
.push-19 {margin:0 -760px 1.5em 760px;}
|
||||||
|
.push-20 {margin:0 -800px 1.5em 800px;}
|
||||||
|
.push-21 {margin:0 -840px 1.5em 840px;}
|
||||||
|
.push-22 {margin:0 -880px 1.5em 880px;}
|
||||||
|
.push-23 {margin:0 -920px 1.5em 920px;}
|
||||||
|
.push-24 {margin:0 -960px 1.5em 960px;}
|
||||||
|
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:left;position:relative;}
|
||||||
|
div.prepend-top, .prepend-top {margin-top:1.5em;}
|
||||||
|
div.append-bottom, .append-bottom {margin-bottom:1.5em;}
|
||||||
|
.box {padding:1.5em;margin-bottom:1.5em;background:#e5eCf9;}
|
||||||
|
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:0 0 1.45em;border:none;}
|
||||||
|
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||||
|
.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
|
||||||
|
.clearfix, .container {display:block;}
|
||||||
|
.clear {clear:both;}
|
||||||
|
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
/* --------------------------------------------------------------
|
||||||
|
|
||||||
|
forms.css
|
||||||
|
* Sets up some default styling for forms
|
||||||
|
* Gives you classes to enhance your forms
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
* For text fields, use class .title or .text
|
||||||
|
* For inline forms, use .inline (even when using columns)
|
||||||
|
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/*
|
||||||
|
A special hack is included for IE8 since it does not apply padding
|
||||||
|
correctly on fieldsets
|
||||||
|
*/
|
||||||
|
label { font-weight: bold; }
|
||||||
|
fieldset { padding:0 1.4em 1.4em 1.4em; margin: 0 0 1.5em 0; border: 1px solid #ccc; }
|
||||||
|
legend { font-weight: bold; font-size:1.2em; margin-top:-0.2em; margin-bottom:1em; }
|
||||||
|
|
||||||
|
fieldset, #IE8#HACK { padding-top:1.4em; }
|
||||||
|
legend, #IE8#HACK { margin-top:0; margin-bottom:0; }
|
||||||
|
|
||||||
|
/* Form fields
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Attribute selectors are used to differentiate the different types
|
||||||
|
of input elements, but to support old browsers, you will have to
|
||||||
|
add classes for each one. ".title" simply creates a large text
|
||||||
|
field, this is purely for looks.
|
||||||
|
*/
|
||||||
|
input[type=text], input[type=password],
|
||||||
|
input.text, input.title,
|
||||||
|
textarea {
|
||||||
|
background-color:#fff;
|
||||||
|
border:1px solid #bbb;
|
||||||
|
}
|
||||||
|
input[type=text]:focus, input[type=password]:focus,
|
||||||
|
input.text:focus, input.title:focus,
|
||||||
|
textarea:focus {
|
||||||
|
border-color:#666;
|
||||||
|
}
|
||||||
|
select { background-color:#fff; border-width:1px; border-style:solid; }
|
||||||
|
|
||||||
|
input[type=text], input[type=password],
|
||||||
|
input.text, input.title,
|
||||||
|
textarea, select {
|
||||||
|
margin:0.5em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.text,
|
||||||
|
input.title { width: 300px; padding:5px; }
|
||||||
|
input.title { font-size:1.5em; }
|
||||||
|
textarea { width: 390px; height: 250px; padding:5px; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
This is to be used on forms where a variety of elements are
|
||||||
|
placed side-by-side. Use the p tag to denote a line.
|
||||||
|
*/
|
||||||
|
form.inline { line-height:3; }
|
||||||
|
form.inline p { margin-bottom:0; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Success, info, notice and error/alert boxes
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.error,
|
||||||
|
.alert,
|
||||||
|
.notice,
|
||||||
|
.success,
|
||||||
|
.info { padding: 0.8em; margin-bottom: 1em; border: 2px solid #ddd; }
|
||||||
|
|
||||||
|
.error, .alert { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; }
|
||||||
|
.notice { background: #fff6bf; color: #514721; border-color: #ffd324; }
|
||||||
|
.success { background: #e6efc2; color: #264409; border-color: #c6d880; }
|
||||||
|
.info { background: #d5edf8; color: #205791; border-color: #92cae4; }
|
||||||
|
.error a, .alert a { color: #8a1f11; }
|
||||||
|
.notice a { color: #514721; }
|
||||||
|
.success a { color: #264409; }
|
||||||
|
.info a { color: #205791; }
|
||||||
@@ -0,0 +1,280 @@
|
|||||||
|
/* --------------------------------------------------------------
|
||||||
|
|
||||||
|
grid.css
|
||||||
|
* Sets up an easy-to-use grid of 24 columns.
|
||||||
|
|
||||||
|
By default, the grid is 950px wide, with 24 columns
|
||||||
|
spanning 30px, and a 10px margin between columns.
|
||||||
|
|
||||||
|
If you need fewer or more columns, namespaces or semantic
|
||||||
|
element names, use the compressor script (lib/compress.rb)
|
||||||
|
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* A container should group all your columns. */
|
||||||
|
.container {
|
||||||
|
width: 950px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Use this class on any .span / container to see the grid. */
|
||||||
|
.showgrid {
|
||||||
|
background: url(src/grid.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Columns
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Sets up basic grid floating and margin. */
|
||||||
|
.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {
|
||||||
|
float: left;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The last column in a row needs this class. */
|
||||||
|
.last { margin-right: 0; }
|
||||||
|
|
||||||
|
/* Use these classes to set the width of a column. */
|
||||||
|
.span-1 {width: 30px;}
|
||||||
|
|
||||||
|
.span-2 {width: 70px;}
|
||||||
|
.span-3 {width: 110px;}
|
||||||
|
.span-4 {width: 150px;}
|
||||||
|
.span-5 {width: 190px;}
|
||||||
|
.span-6 {width: 230px;}
|
||||||
|
.span-7 {width: 270px;}
|
||||||
|
.span-8 {width: 310px;}
|
||||||
|
.span-9 {width: 350px;}
|
||||||
|
.span-10 {width: 390px;}
|
||||||
|
.span-11 {width: 430px;}
|
||||||
|
.span-12 {width: 470px;}
|
||||||
|
.span-13 {width: 510px;}
|
||||||
|
.span-14 {width: 550px;}
|
||||||
|
.span-15 {width: 590px;}
|
||||||
|
.span-16 {width: 630px;}
|
||||||
|
.span-17 {width: 670px;}
|
||||||
|
.span-18 {width: 710px;}
|
||||||
|
.span-19 {width: 750px;}
|
||||||
|
.span-20 {width: 790px;}
|
||||||
|
.span-21 {width: 830px;}
|
||||||
|
.span-22 {width: 870px;}
|
||||||
|
.span-23 {width: 910px;}
|
||||||
|
.span-24 {width:950px; margin-right:0;}
|
||||||
|
|
||||||
|
/* Use these classes to set the width of an input. */
|
||||||
|
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {
|
||||||
|
border-left-width: 1px;
|
||||||
|
border-right-width: 1px;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.span-1, textarea.span-1 { width: 18px; }
|
||||||
|
input.span-2, textarea.span-2 { width: 58px; }
|
||||||
|
input.span-3, textarea.span-3 { width: 98px; }
|
||||||
|
input.span-4, textarea.span-4 { width: 138px; }
|
||||||
|
input.span-5, textarea.span-5 { width: 178px; }
|
||||||
|
input.span-6, textarea.span-6 { width: 218px; }
|
||||||
|
input.span-7, textarea.span-7 { width: 258px; }
|
||||||
|
input.span-8, textarea.span-8 { width: 298px; }
|
||||||
|
input.span-9, textarea.span-9 { width: 338px; }
|
||||||
|
input.span-10, textarea.span-10 { width: 378px; }
|
||||||
|
input.span-11, textarea.span-11 { width: 418px; }
|
||||||
|
input.span-12, textarea.span-12 { width: 458px; }
|
||||||
|
input.span-13, textarea.span-13 { width: 498px; }
|
||||||
|
input.span-14, textarea.span-14 { width: 538px; }
|
||||||
|
input.span-15, textarea.span-15 { width: 578px; }
|
||||||
|
input.span-16, textarea.span-16 { width: 618px; }
|
||||||
|
input.span-17, textarea.span-17 { width: 658px; }
|
||||||
|
input.span-18, textarea.span-18 { width: 698px; }
|
||||||
|
input.span-19, textarea.span-19 { width: 738px; }
|
||||||
|
input.span-20, textarea.span-20 { width: 778px; }
|
||||||
|
input.span-21, textarea.span-21 { width: 818px; }
|
||||||
|
input.span-22, textarea.span-22 { width: 858px; }
|
||||||
|
input.span-23, textarea.span-23 { width: 898px; }
|
||||||
|
input.span-24, textarea.span-24 { width: 938px; }
|
||||||
|
|
||||||
|
/* Add these to a column to append empty cols. */
|
||||||
|
|
||||||
|
.append-1 { padding-right: 40px;}
|
||||||
|
.append-2 { padding-right: 80px;}
|
||||||
|
.append-3 { padding-right: 120px;}
|
||||||
|
.append-4 { padding-right: 160px;}
|
||||||
|
.append-5 { padding-right: 200px;}
|
||||||
|
.append-6 { padding-right: 240px;}
|
||||||
|
.append-7 { padding-right: 280px;}
|
||||||
|
.append-8 { padding-right: 320px;}
|
||||||
|
.append-9 { padding-right: 360px;}
|
||||||
|
.append-10 { padding-right: 400px;}
|
||||||
|
.append-11 { padding-right: 440px;}
|
||||||
|
.append-12 { padding-right: 480px;}
|
||||||
|
.append-13 { padding-right: 520px;}
|
||||||
|
.append-14 { padding-right: 560px;}
|
||||||
|
.append-15 { padding-right: 600px;}
|
||||||
|
.append-16 { padding-right: 640px;}
|
||||||
|
.append-17 { padding-right: 680px;}
|
||||||
|
.append-18 { padding-right: 720px;}
|
||||||
|
.append-19 { padding-right: 760px;}
|
||||||
|
.append-20 { padding-right: 800px;}
|
||||||
|
.append-21 { padding-right: 840px;}
|
||||||
|
.append-22 { padding-right: 880px;}
|
||||||
|
.append-23 { padding-right: 920px;}
|
||||||
|
|
||||||
|
/* Add these to a column to prepend empty cols. */
|
||||||
|
|
||||||
|
.prepend-1 { padding-left: 40px;}
|
||||||
|
.prepend-2 { padding-left: 80px;}
|
||||||
|
.prepend-3 { padding-left: 120px;}
|
||||||
|
.prepend-4 { padding-left: 160px;}
|
||||||
|
.prepend-5 { padding-left: 200px;}
|
||||||
|
.prepend-6 { padding-left: 240px;}
|
||||||
|
.prepend-7 { padding-left: 280px;}
|
||||||
|
.prepend-8 { padding-left: 320px;}
|
||||||
|
.prepend-9 { padding-left: 360px;}
|
||||||
|
.prepend-10 { padding-left: 400px;}
|
||||||
|
.prepend-11 { padding-left: 440px;}
|
||||||
|
.prepend-12 { padding-left: 480px;}
|
||||||
|
.prepend-13 { padding-left: 520px;}
|
||||||
|
.prepend-14 { padding-left: 560px;}
|
||||||
|
.prepend-15 { padding-left: 600px;}
|
||||||
|
.prepend-16 { padding-left: 640px;}
|
||||||
|
.prepend-17 { padding-left: 680px;}
|
||||||
|
.prepend-18 { padding-left: 720px;}
|
||||||
|
.prepend-19 { padding-left: 760px;}
|
||||||
|
.prepend-20 { padding-left: 800px;}
|
||||||
|
.prepend-21 { padding-left: 840px;}
|
||||||
|
.prepend-22 { padding-left: 880px;}
|
||||||
|
.prepend-23 { padding-left: 920px;}
|
||||||
|
|
||||||
|
|
||||||
|
/* Border on right hand side of a column. */
|
||||||
|
.border {
|
||||||
|
padding-right: 4px;
|
||||||
|
margin-right: 5px;
|
||||||
|
border-right: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Border with more whitespace, spans one column. */
|
||||||
|
.colborder {
|
||||||
|
padding-right: 24px;
|
||||||
|
margin-right: 25px;
|
||||||
|
border-right: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Use these classes on an element to push it into the
|
||||||
|
next column, or to pull it into the previous column. */
|
||||||
|
|
||||||
|
|
||||||
|
.pull-1 { margin-left: -40px; }
|
||||||
|
.pull-2 { margin-left: -80px; }
|
||||||
|
.pull-3 { margin-left: -120px; }
|
||||||
|
.pull-4 { margin-left: -160px; }
|
||||||
|
.pull-5 { margin-left: -200px; }
|
||||||
|
.pull-6 { margin-left: -240px; }
|
||||||
|
.pull-7 { margin-left: -280px; }
|
||||||
|
.pull-8 { margin-left: -320px; }
|
||||||
|
.pull-9 { margin-left: -360px; }
|
||||||
|
.pull-10 { margin-left: -400px; }
|
||||||
|
.pull-11 { margin-left: -440px; }
|
||||||
|
.pull-12 { margin-left: -480px; }
|
||||||
|
.pull-13 { margin-left: -520px; }
|
||||||
|
.pull-14 { margin-left: -560px; }
|
||||||
|
.pull-15 { margin-left: -600px; }
|
||||||
|
.pull-16 { margin-left: -640px; }
|
||||||
|
.pull-17 { margin-left: -680px; }
|
||||||
|
.pull-18 { margin-left: -720px; }
|
||||||
|
.pull-19 { margin-left: -760px; }
|
||||||
|
.pull-20 { margin-left: -800px; }
|
||||||
|
.pull-21 { margin-left: -840px; }
|
||||||
|
.pull-22 { margin-left: -880px; }
|
||||||
|
.pull-23 { margin-left: -920px; }
|
||||||
|
.pull-24 { margin-left: -960px; }
|
||||||
|
|
||||||
|
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float: left; position:relative;}
|
||||||
|
|
||||||
|
|
||||||
|
.push-1 { margin: 0 -40px 1.5em 40px; }
|
||||||
|
.push-2 { margin: 0 -80px 1.5em 80px; }
|
||||||
|
.push-3 { margin: 0 -120px 1.5em 120px; }
|
||||||
|
.push-4 { margin: 0 -160px 1.5em 160px; }
|
||||||
|
.push-5 { margin: 0 -200px 1.5em 200px; }
|
||||||
|
.push-6 { margin: 0 -240px 1.5em 240px; }
|
||||||
|
.push-7 { margin: 0 -280px 1.5em 280px; }
|
||||||
|
.push-8 { margin: 0 -320px 1.5em 320px; }
|
||||||
|
.push-9 { margin: 0 -360px 1.5em 360px; }
|
||||||
|
.push-10 { margin: 0 -400px 1.5em 400px; }
|
||||||
|
.push-11 { margin: 0 -440px 1.5em 440px; }
|
||||||
|
.push-12 { margin: 0 -480px 1.5em 480px; }
|
||||||
|
.push-13 { margin: 0 -520px 1.5em 520px; }
|
||||||
|
.push-14 { margin: 0 -560px 1.5em 560px; }
|
||||||
|
.push-15 { margin: 0 -600px 1.5em 600px; }
|
||||||
|
.push-16 { margin: 0 -640px 1.5em 640px; }
|
||||||
|
.push-17 { margin: 0 -680px 1.5em 680px; }
|
||||||
|
.push-18 { margin: 0 -720px 1.5em 720px; }
|
||||||
|
.push-19 { margin: 0 -760px 1.5em 760px; }
|
||||||
|
.push-20 { margin: 0 -800px 1.5em 800px; }
|
||||||
|
.push-21 { margin: 0 -840px 1.5em 840px; }
|
||||||
|
.push-22 { margin: 0 -880px 1.5em 880px; }
|
||||||
|
.push-23 { margin: 0 -920px 1.5em 920px; }
|
||||||
|
.push-24 { margin: 0 -960px 1.5em 960px; }
|
||||||
|
|
||||||
|
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float: left; position:relative;}
|
||||||
|
|
||||||
|
|
||||||
|
/* Misc classes and elements
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* In case you need to add a gutter above/below an element */
|
||||||
|
div.prepend-top, .prepend-top {
|
||||||
|
margin-top:1.5em;
|
||||||
|
}
|
||||||
|
div.append-bottom, .append-bottom {
|
||||||
|
margin-bottom:1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Use a .box to create a padded box inside a column. */
|
||||||
|
.box {
|
||||||
|
padding: 1.5em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
background: #e5eCf9;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Use this to create a horizontal ruler across a column. */
|
||||||
|
hr {
|
||||||
|
background: #ddd;
|
||||||
|
color: #ddd;
|
||||||
|
clear: both;
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
margin: 0 0 1.45em;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr.space {
|
||||||
|
background: #fff;
|
||||||
|
color: #fff;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Clearing floats without extra markup
|
||||||
|
Based on How To Clear Floats Without Structural Markup by PiE
|
||||||
|
[http://www.positioniseverything.net/easyclearing.html] */
|
||||||
|
|
||||||
|
.clearfix:after, .container:after {
|
||||||
|
content: "\0020";
|
||||||
|
display: block;
|
||||||
|
height: 0;
|
||||||
|
clear: both;
|
||||||
|
visibility: hidden;
|
||||||
|
overflow:hidden;
|
||||||
|
}
|
||||||
|
.clearfix, .container {display: block;}
|
||||||
|
|
||||||
|
/* Regular clearing
|
||||||
|
apply to column that should drop below previous ones. */
|
||||||
|
|
||||||
|
.clear { clear:both; }
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 195 B |
@@ -0,0 +1,79 @@
|
|||||||
|
/* --------------------------------------------------------------
|
||||||
|
|
||||||
|
ie.css
|
||||||
|
|
||||||
|
Contains every hack for Internet Explorer,
|
||||||
|
so that our core files stay sweet and nimble.
|
||||||
|
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Make sure the layout is centered in IE5 */
|
||||||
|
body { text-align: center; }
|
||||||
|
.container { text-align: left; }
|
||||||
|
|
||||||
|
/* Fixes IE margin bugs */
|
||||||
|
* html .column, * html .span-1, * html .span-2,
|
||||||
|
* html .span-3, * html .span-4, * html .span-5,
|
||||||
|
* html .span-6, * html .span-7, * html .span-8,
|
||||||
|
* html .span-9, * html .span-10, * html .span-11,
|
||||||
|
* html .span-12, * html .span-13, * html .span-14,
|
||||||
|
* html .span-15, * html .span-16, * html .span-17,
|
||||||
|
* html .span-18, * html .span-19, * html .span-20,
|
||||||
|
* html .span-21, * html .span-22, * html .span-23,
|
||||||
|
* html .span-24 { display:inline; overflow-x: hidden; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Elements
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Fixes incorrect styling of legend in IE6. */
|
||||||
|
* html legend { margin:0px -8px 16px 0; padding:0; }
|
||||||
|
|
||||||
|
/* Fixes wrong line-height on sup/sub in IE. */
|
||||||
|
sup { vertical-align:text-top; }
|
||||||
|
sub { vertical-align:text-bottom; }
|
||||||
|
|
||||||
|
/* Fixes IE7 missing wrapping of code elements. */
|
||||||
|
html>body p code { *white-space: normal; }
|
||||||
|
|
||||||
|
/* IE 6&7 has problems with setting proper <hr> margins. */
|
||||||
|
hr { margin:-8px auto 11px; }
|
||||||
|
|
||||||
|
/* Explicitly set interpolation, allowing dynamically resized images to not look horrible */
|
||||||
|
img { -ms-interpolation-mode:bicubic; }
|
||||||
|
|
||||||
|
/* Clearing
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Makes clearfix actually work in IE */
|
||||||
|
.clearfix, .container { display:inline-block; }
|
||||||
|
* html .clearfix,
|
||||||
|
* html .container { height:1%; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Forms
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Fixes padding on fieldset */
|
||||||
|
fieldset { padding-top:0; }
|
||||||
|
legend { margin-top:-0.2em; margin-bottom:1em; margin-left:-0.5em; }
|
||||||
|
|
||||||
|
/* Makes classic textareas in IE 6 resemble other browsers */
|
||||||
|
textarea { overflow:auto; }
|
||||||
|
|
||||||
|
/* Makes labels behave correctly in IE 6 and 7 */
|
||||||
|
label { vertical-align:middle; position:relative; top:-0.25em; }
|
||||||
|
|
||||||
|
/* Fixes rule that IE 6 ignores */
|
||||||
|
input.text, input.title, textarea { background-color:#fff; border:1px solid #bbb; }
|
||||||
|
input.text:focus, input.title:focus { border-color:#666; }
|
||||||
|
input.text, input.title, textarea, select { margin:0.5em 0; }
|
||||||
|
input.checkbox, input.radio { position:relative; top:.25em; }
|
||||||
|
|
||||||
|
/* Fixes alignment of inline form elements */
|
||||||
|
form.inline div, form.inline p { vertical-align:middle; }
|
||||||
|
form.inline input.checkbox, form.inline input.radio,
|
||||||
|
form.inline input.button, form.inline button {
|
||||||
|
margin:0.5em 0;
|
||||||
|
}
|
||||||
|
button, input.button { position:relative;top:0.25em; }
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
/* --------------------------------------------------------------
|
||||||
|
|
||||||
|
print.css
|
||||||
|
* Gives you some sensible styles for printing pages.
|
||||||
|
* See Readme file in this directory for further instructions.
|
||||||
|
|
||||||
|
Some additions you'll want to make, customized to your markup:
|
||||||
|
#header, #footer, #navigation { display:none; }
|
||||||
|
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1.5;
|
||||||
|
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||||
|
color:#000;
|
||||||
|
background: none;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Layout
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.container {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
background:#ccc;
|
||||||
|
color:#ccc;
|
||||||
|
width:100%;
|
||||||
|
height:2px;
|
||||||
|
margin:2em 0;
|
||||||
|
padding:0;
|
||||||
|
border:none;
|
||||||
|
}
|
||||||
|
hr.space {
|
||||||
|
background: #fff;
|
||||||
|
color: #fff;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Text
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
h1,h2,h3,h4,h5,h6 { font-family: "Helvetica Neue", Arial, "Lucida Grande", sans-serif; }
|
||||||
|
code { font:.9em "Courier New", Monaco, Courier, monospace; }
|
||||||
|
|
||||||
|
a img { border:none; }
|
||||||
|
p img.top { margin-top: 0; }
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin:1.5em;
|
||||||
|
padding:1em;
|
||||||
|
font-style:italic;
|
||||||
|
font-size:.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small { font-size: .9em; }
|
||||||
|
.large { font-size: 1.1em; }
|
||||||
|
.quiet { color: #999; }
|
||||||
|
.hide { display:none; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Links
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
a:link, a:visited {
|
||||||
|
background: transparent;
|
||||||
|
font-weight:700;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
This has been the source of many questions in the past. This
|
||||||
|
snippet of CSS appends the URL of each link within the text.
|
||||||
|
The idea is that users printing your webpage will want to know
|
||||||
|
the URLs they go to. If you want to remove this functionality,
|
||||||
|
comment out this snippet and make sure to re-compress your files.
|
||||||
|
*/
|
||||||
|
a:link:after, a:visited:after {
|
||||||
|
content: " (" attr(href) ")";
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If you're having trouble printing relative links, uncomment and customize this:
|
||||||
|
(note: This is valid CSS3, but it still won't go through the W3C CSS Validator) */
|
||||||
|
|
||||||
|
/* a[href^="/"]:after {
|
||||||
|
content: " (http://www.yourdomain.com" attr(href) ") ";
|
||||||
|
} */
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
/* --------------------------------------------------------------
|
||||||
|
|
||||||
|
reset.css
|
||||||
|
* Resets default browser CSS.
|
||||||
|
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
html {
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
border:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body, div, span, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
a, abbr, acronym, address, code,
|
||||||
|
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, dialog, figure, footer, header,
|
||||||
|
hgroup, nav, section {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-weight: inherit;
|
||||||
|
font-style: inherit;
|
||||||
|
font-size: 100%;
|
||||||
|
font-family: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This helps to make newer HTML5 elements behave like DIVs in older browers */
|
||||||
|
article, aside, dialog, figure, footer, header,
|
||||||
|
hgroup, nav, section {
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Line-height should always be unitless! */
|
||||||
|
body {
|
||||||
|
line-height: 1.5;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tables still need 'cellspacing="0"' in the markup. */
|
||||||
|
table {
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
/* float:none prevents the span-x classes from breaking table-cell display */
|
||||||
|
caption, th, td {
|
||||||
|
text-align: left;
|
||||||
|
font-weight: normal;
|
||||||
|
float:none !important;
|
||||||
|
}
|
||||||
|
table, th, td {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Remove possible quote marks (") from <q>, <blockquote>. */
|
||||||
|
blockquote:before, blockquote:after, q:before, q:after { content: ''; }
|
||||||
|
blockquote, q { quotes: "" ""; }
|
||||||
|
|
||||||
|
/* Remove annoying border on linked images. */
|
||||||
|
a img { border: none; }
|
||||||
|
|
||||||
|
/* Remember to define your own focus styles! */
|
||||||
|
:focus { outline: 0; }
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
/* --------------------------------------------------------------
|
||||||
|
|
||||||
|
typography.css
|
||||||
|
* Sets up some sensible default typography.
|
||||||
|
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Default font settings.
|
||||||
|
The font-size percentage is of 16px. (0.75 * 16px = 12px) */
|
||||||
|
html { font-size:100.01%; }
|
||||||
|
body {
|
||||||
|
font-size: 75%;
|
||||||
|
color: #222;
|
||||||
|
background: #fff;
|
||||||
|
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Headings
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
h1,h2,h3,h4,h5,h6 { font-weight: normal; color: #111; }
|
||||||
|
|
||||||
|
h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
|
||||||
|
h2 { font-size: 2em; margin-bottom: 0.75em; }
|
||||||
|
h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
|
||||||
|
h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
|
||||||
|
h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
|
||||||
|
h6 { font-size: 1em; font-weight: bold; }
|
||||||
|
|
||||||
|
h1 img, h2 img, h3 img,
|
||||||
|
h4 img, h5 img, h6 img {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Text elements
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
p { margin: 0 0 1.5em; }
|
||||||
|
/*
|
||||||
|
These can be used to pull an image at the start of a paragraph, so
|
||||||
|
that the text flows around it (usage: <p><img class="left">Text</p>)
|
||||||
|
*/
|
||||||
|
.left { float: left !important; }
|
||||||
|
p .left { margin: 1.5em 1.5em 1.5em 0; padding: 0; }
|
||||||
|
.right { float: right !important; }
|
||||||
|
p .right { margin: 1.5em 0 1.5em 1.5em; padding: 0; }
|
||||||
|
|
||||||
|
a:focus,
|
||||||
|
a:hover { color: #09f; }
|
||||||
|
a { color: #06c; text-decoration: underline; }
|
||||||
|
|
||||||
|
blockquote { margin: 1.5em; color: #666; font-style: italic; }
|
||||||
|
strong,dfn { font-weight: bold; }
|
||||||
|
em,dfn { font-style: italic; }
|
||||||
|
sup, sub { line-height: 0; }
|
||||||
|
|
||||||
|
abbr,
|
||||||
|
acronym { border-bottom: 1px dotted #666; }
|
||||||
|
address { margin: 0 0 1.5em; font-style: italic; }
|
||||||
|
del { color:#666; }
|
||||||
|
|
||||||
|
pre { margin: 1.5em 0; white-space: pre; }
|
||||||
|
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Lists
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
li ul,
|
||||||
|
li ol { margin: 0; }
|
||||||
|
ul, ol { margin: 0 1.5em 1.5em 0; padding-left: 1.5em; }
|
||||||
|
|
||||||
|
ul { list-style-type: disc; }
|
||||||
|
ol { list-style-type: decimal; }
|
||||||
|
|
||||||
|
dl { margin: 0 0 1.5em 0; }
|
||||||
|
dl dt { font-weight: bold; }
|
||||||
|
dd { margin-left: 1.5em;}
|
||||||
|
|
||||||
|
|
||||||
|
/* Tables
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Because of the need for padding on TH and TD, the vertical rhythm
|
||||||
|
on table cells has to be 27px, instead of the standard 18px or 36px
|
||||||
|
of other elements.
|
||||||
|
*/
|
||||||
|
table { margin-bottom: 1.4em; width:100%; }
|
||||||
|
th { font-weight: bold; }
|
||||||
|
thead th { background: #c3d9ff; }
|
||||||
|
th,td,caption { padding: 4px 10px 4px 5px; }
|
||||||
|
/*
|
||||||
|
You can zebra-stripe your tables in outdated browsers by adding
|
||||||
|
the class "even" to every other table row.
|
||||||
|
*/
|
||||||
|
tbody tr:nth-child(even) td,
|
||||||
|
tbody tr.even td {
|
||||||
|
background: #e5ecf9;
|
||||||
|
}
|
||||||
|
tfoot { font-style: italic; }
|
||||||
|
caption { background: #eee; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Misc classes
|
||||||
|
-------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.small { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }
|
||||||
|
.large { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }
|
||||||
|
.hide { display: none; }
|
||||||
|
|
||||||
|
.quiet { color: #666; }
|
||||||
|
.loud { color: #000; }
|
||||||
|
.highlight { background:#ff0; }
|
||||||
|
.added { background:#060; color: #fff; }
|
||||||
|
.removed { background:#900; color: #fff; }
|
||||||
|
|
||||||
|
.first { margin-left:0; padding-left:0; }
|
||||||
|
.last { margin-right:0; padding-right:0; }
|
||||||
|
.top { margin-top:0; padding-top:0; }
|
||||||
|
.bottom { margin-bottom:0; padding-bottom:0; }
|
||||||
+330
@@ -0,0 +1,330 @@
|
|||||||
|
/*
|
||||||
|
style.css contains a reset, font normalization and some base styles.
|
||||||
|
|
||||||
|
credit is left where credit is due.
|
||||||
|
additionally, much inspiration was taken from these projects:
|
||||||
|
yui.yahooapis.com/2.8.1/build/base/base.css
|
||||||
|
camendesign.com/design/
|
||||||
|
praegnanz.de/weblog/htmlcssjs-kickstart
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
|
||||||
|
v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark
|
||||||
|
html5doctor.com/html-5-reset-stylesheet/
|
||||||
|
*/
|
||||||
|
|
||||||
|
html, body, div, span, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
abbr, address, cite, code,
|
||||||
|
del, dfn, em, img, ins, kbd, q, samp,
|
||||||
|
small, strong, sub, sup, var,
|
||||||
|
b, i,
|
||||||
|
dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, canvas, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section, summary,
|
||||||
|
time, mark, audio, video {
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
border:0;
|
||||||
|
outline:0;
|
||||||
|
font-size:100%;
|
||||||
|
vertical-align:baseline;
|
||||||
|
background:transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
article, aside, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section {
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav ul { list-style:none; }
|
||||||
|
|
||||||
|
blockquote, q { quotes:none; }
|
||||||
|
|
||||||
|
blockquote:before, blockquote:after,
|
||||||
|
q:before, q:after { content:''; content:none; }
|
||||||
|
|
||||||
|
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
|
||||||
|
|
||||||
|
ins { background-color:#ff9; color:#000; text-decoration:none; }
|
||||||
|
|
||||||
|
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
|
||||||
|
|
||||||
|
del { text-decoration: line-through; }
|
||||||
|
|
||||||
|
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
|
||||||
|
|
||||||
|
/* tables still need cellspacing="0" in the markup */
|
||||||
|
table { border-collapse:collapse; border-spacing:0; }
|
||||||
|
|
||||||
|
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
|
||||||
|
|
||||||
|
input, select { vertical-align:middle; }
|
||||||
|
/* END RESET CSS */
|
||||||
|
|
||||||
|
|
||||||
|
/* fonts.css from the YUI Library: developer.yahoo.com/yui/
|
||||||
|
Please refer to developer.yahoo.com/yui/fonts/ for font sizing percentages
|
||||||
|
|
||||||
|
There are two custom edits:
|
||||||
|
* remove arial, helvetica from explicit font stack
|
||||||
|
* we normalize monospace styles ourselves
|
||||||
|
*/
|
||||||
|
body { font:13px/1.231 sans-serif; *font-size:small; } /* hack retained to preserve specificity */
|
||||||
|
|
||||||
|
table { font-size:inherit; font: 100%; }
|
||||||
|
|
||||||
|
select, input, textarea, button { font:99% sans-serif; }
|
||||||
|
|
||||||
|
/* normalize monospace sizing
|
||||||
|
* en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome
|
||||||
|
*/
|
||||||
|
pre, code, kbd, samp { font-family: monospace, sans-serif; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* minimal base styles
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */
|
||||||
|
body, select, input, textarea { color: #444; }
|
||||||
|
|
||||||
|
/* Headers (h1,h2,etc) have no default font-size or margin,
|
||||||
|
you'll want to define those yourself. */
|
||||||
|
h1,h2,h3,h4,h5,h6 { font-weight: bold; }
|
||||||
|
|
||||||
|
html {
|
||||||
|
/* always force a scrollbar in non-IE */
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
|
||||||
|
a:hover, a:active { outline: none; }
|
||||||
|
|
||||||
|
a, a:active, a:visited { color: #607890; }
|
||||||
|
a:hover { color: #036; }
|
||||||
|
|
||||||
|
|
||||||
|
ul, ol { margin-left: 1.8em; }
|
||||||
|
ol { list-style-type: decimal; }
|
||||||
|
|
||||||
|
small { font-size: 85%; }
|
||||||
|
strong, th { font-weight: bold; }
|
||||||
|
|
||||||
|
td, td img { vertical-align: top; }
|
||||||
|
|
||||||
|
sub { vertical-align: sub; font-size: smaller; }
|
||||||
|
sup { vertical-align: super; font-size: smaller; }
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 15px;
|
||||||
|
|
||||||
|
/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
|
||||||
|
white-space: pre; /* CSS2 */
|
||||||
|
white-space: pre-wrap; /* CSS 2.1 */
|
||||||
|
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
|
||||||
|
word-wrap: break-word; /* IE */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* align checkboxes, radios, text inputs with their label
|
||||||
|
by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css */
|
||||||
|
input[type="radio"] { vertical-align: text-bottom; }
|
||||||
|
input[type="checkbox"] { vertical-align: bottom; }
|
||||||
|
.ie7 input[type="checkbox"] { vertical-align: baseline; }
|
||||||
|
.ie6 input { vertical-align: text-bottom; }
|
||||||
|
|
||||||
|
/* hand cursor on clickable input elements */
|
||||||
|
label, input[type=button], input[type=submit], button { cursor: pointer; }
|
||||||
|
|
||||||
|
/* colors for form validity */
|
||||||
|
input:valid { }
|
||||||
|
input:invalid {
|
||||||
|
border-radius: 1px;
|
||||||
|
-moz-box-shadow: 0px 0px 5px red;
|
||||||
|
-webkit-box-shadow: 0px 0px 5px red;
|
||||||
|
box-shadow: 0px 0px 5px red;
|
||||||
|
}
|
||||||
|
.no-boxshadow input:invalid { background-color: #f0dddd; }
|
||||||
|
|
||||||
|
|
||||||
|
/* These selection declarations have to be separate.
|
||||||
|
No text-shadow: twitter.com/miketaylr/status/12228805301
|
||||||
|
Also: hot pink. */
|
||||||
|
::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; }
|
||||||
|
::selection { background:#FF5E99; color:#fff; text-shadow: none; }
|
||||||
|
|
||||||
|
/* j.mp/webkit-tap-highlight-color */
|
||||||
|
a:link { -webkit-tap-highlight-color: #FF5E99; }
|
||||||
|
|
||||||
|
/* make buttons play nice in IE:
|
||||||
|
www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
|
||||||
|
button { width: auto; overflow: visible; }
|
||||||
|
|
||||||
|
/* bicubic resizing for non-native sized IMG:
|
||||||
|
code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
|
||||||
|
.ie7 img { -ms-interpolation-mode: bicubic; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Non-semantic helper classes
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* for image replacement */
|
||||||
|
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
|
||||||
|
|
||||||
|
/* Hide for both screenreaders and browsers
|
||||||
|
css-discuss.incutio.com/wiki/Screenreader_Visibility */
|
||||||
|
.hidden { display: none; visibility: hidden; }
|
||||||
|
|
||||||
|
/* Hide only visually, but have it available for screenreaders
|
||||||
|
www.webaim.org/techniques/css/invisiblecontent/
|
||||||
|
Solution from: j.mp/visuallyhidden - Thanks Jonathan Neal! */
|
||||||
|
.visuallyhidden { position: absolute !important;
|
||||||
|
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
|
||||||
|
clip: rect(1px, 1px, 1px, 1px); }
|
||||||
|
|
||||||
|
/* Hide visually and from screenreaders, but maintain layout */
|
||||||
|
.invisible { visibility: hidden; }
|
||||||
|
|
||||||
|
/* >> The Magnificent CLEARFIX << j.mp/phayesclearfix */
|
||||||
|
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||||
|
.clearfix { zoom: 1; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Primary Styles
|
||||||
|
Author:
|
||||||
|
*/
|
||||||
|
#container{width:500px; /*height:350px;*/ overflow:auto; margin:200px auto; display:block; position:relative; border: 1px solid #888;-webkit-border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;-webkit-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.15);
|
||||||
|
-moz-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.15);border-radius:5px;box-shadow:0 5px 5px #888; padding:5px 5px 20px 5px;font-family: Georgia, serif;font-size:12px;}
|
||||||
|
header img{float:left;margin-top:-6px;}
|
||||||
|
#main{clear:both;}
|
||||||
|
footer{position:absolute; text-align:center; bottom:0; left:0; width:98%; display:block; padding:3px;}
|
||||||
|
.error{padding:0.8em;margin:1em 0;border:2px solid #ddd;background:#fbe3e4;color:#8a1f11;border-color:#fbc2c4;}
|
||||||
|
|
||||||
|
h1{font-size:20px; color:#6DB9F2;}
|
||||||
|
h2{font-size:14px;}
|
||||||
|
strong{color:#6DB9F2;}
|
||||||
|
input[type=text], input[type=search], input[type=email]{
|
||||||
|
background:#EEE;
|
||||||
|
margin: 0.7em 0.5em 0.7em 0;
|
||||||
|
border:1px solid #CCC;
|
||||||
|
padding: 2px 7px;
|
||||||
|
font-family: Georgia, serif;
|
||||||
|
width:310px;
|
||||||
|
height:20px;
|
||||||
|
}
|
||||||
|
input, label{float:left; vertical-align:middle;}
|
||||||
|
form, br{clear:both; vertical-align:middle;}
|
||||||
|
input[type=checkbox], label{margin:15px 5px 0 0;}
|
||||||
|
input[type=text]:hover, input[type=search]:hover, input[type=email]:hover{
|
||||||
|
border:1px solid #000;
|
||||||
|
}
|
||||||
|
/*input#email{
|
||||||
|
text-shadow:1px 1px 0 white;width:385px;font-family:'Droid Serif', Georgia, serif;
|
||||||
|
font-size:16px;
|
||||||
|
background-color: #eee; background: -webkit-gradient( linear,center top, center bottom,color-stop(0%, #eee),color-stop(100%, #fff));
|
||||||
|
background: -moz-linear-gradient(top, #eee, #fff);
|
||||||
|
border: solid 2px white;
|
||||||
|
padding: 2px 7px;
|
||||||
|
height:30px;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
|
||||||
|
-moz-box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
|
||||||
|
box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
|
||||||
|
color: black;
|
||||||
|
text-shadow: 0px 1px 1px white;
|
||||||
|
}*/
|
||||||
|
/*input#submit{background-color: #eee;background: -webkit-gradient(linear,center top, center bottom, color-stop(0%, #eee),color-stop(100%, #ccc));
|
||||||
|
background: -moz-linear-gradient(top, #eee, #ccc);
|
||||||
|
border: solid 2px white;
|
||||||
|
padding: 0px 8px;
|
||||||
|
height:36px;
|
||||||
|
border-radius: 8px;
|
||||||
|
-webkit-border-radius: 8px;
|
||||||
|
-moz-border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
|
||||||
|
-webkit-box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
|
||||||
|
-moz-box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
|
||||||
|
text-shadow: 0px 1px 1px white;
|
||||||
|
text-align:center;}*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* print styles
|
||||||
|
* inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/
|
||||||
|
*/
|
||||||
|
@media print {
|
||||||
|
* { background: transparent !important; color: #444 !important; text-shadow: none !important; }
|
||||||
|
|
||||||
|
a, a:visited { color: #444 !important; text-decoration: underline; }
|
||||||
|
|
||||||
|
a:after { content: " (" attr(href) ")"; }
|
||||||
|
|
||||||
|
abbr:after { content: " (" attr(title) ")"; }
|
||||||
|
|
||||||
|
.ir a:after { content: ""; } /* Don't show links for images */
|
||||||
|
|
||||||
|
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
|
||||||
|
|
||||||
|
img { page-break-inside: avoid; }
|
||||||
|
|
||||||
|
@page { margin: 0.5cm; }
|
||||||
|
|
||||||
|
p, h2, h3 { orphans: 3; widows: 3; }
|
||||||
|
|
||||||
|
h2, h3{ page-break-after: avoid; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Media queries for responsive design
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media all and (orientation:portrait) {
|
||||||
|
/* Style adjustments for portrait mode goes here */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (orientation:landscape) {
|
||||||
|
/* Style adjustments for landscape mode goes here */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Grade-A Mobile Browsers (Opera Mobile, iPhone Safari, Android Chrome)
|
||||||
|
Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */
|
||||||
|
@media screen and (max-device-width: 480px) {
|
||||||
|
|
||||||
|
|
||||||
|
/* Uncomment if you don't want iOS and WinMobile to mobile-optimize the text for you
|
||||||
|
j.mp/textsizeadjust
|
||||||
|
html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
|
||||||
|
}
|
||||||
|
|
||||||
|
#main p{line-height:16px !important;}
|
||||||
|
h2:hover{cursor:pointer;}
|
||||||
|
h2{margin:5px 0;}
|
||||||
|
#en-lang, #fr-lang{width:16px; height:11px; display:inline-block;cursor:pointer;}
|
||||||
|
#en-lang{background:url(//shikiryu.com/images/us.png) top left no-repeat;}
|
||||||
|
#fr-lang{background:url(//shikiryu.com/images/fr.png) top left no-repeat;}
|
||||||
|
.active{text-decoration:underline;}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Database>
|
||||||
|
<table name="emails" autoincrement="true" aivalue="1">
|
||||||
|
</table>
|
||||||
|
</Database>
|
||||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,95 @@
|
|||||||
|
<?php
|
||||||
|
ini_set("display_errors", "off");
|
||||||
|
ini_set("log_errors", "on");
|
||||||
|
ini_set('error_log', dirname(__FILE__) . '/log.log');
|
||||||
|
|
||||||
|
$config = include 'config.php';
|
||||||
|
|
||||||
|
// launch by bookmarklet
|
||||||
|
if (isset($_GET['v'])) {
|
||||||
|
header("Content-type: text/javascript");
|
||||||
|
$email = isset($_GET['m']) ? $_GET['m'] : '';
|
||||||
|
$url = isset($_GET['u']) ? $_GET['u'] : '';
|
||||||
|
$title = isset($_GET['t']) ? $_GET['t'] : '';
|
||||||
|
$version = isset($_GET['v']) ? $_GET['v'] : '';
|
||||||
|
$xpath = isset($_GET['q']) ? $_GET['q'] : '';
|
||||||
|
$filtered_email = filter_var($email, FILTER_VALIDATE_EMAIL);
|
||||||
|
$filtered_version = filter_var($version, FILTER_VALIDATE_INT);
|
||||||
|
$filtered_url = filter_var($url, FILTER_VALIDATE_URL);
|
||||||
|
if ($filtered_email !== false && $filtered_version !== false && $filtered_url !== false) {
|
||||||
|
$content = '';
|
||||||
|
$f = $xpath != '' ? @DomDocument::loadHTMLFile($url) : false;
|
||||||
|
if ($f) {
|
||||||
|
$xp = new DomXPath($f);
|
||||||
|
$content = $xp->query($xpath) != false ? $f->saveXML($xp->query($xpath)->item(0)) : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$body = "\n" . $title;
|
||||||
|
$body .= "\nLink => " . $url;
|
||||||
|
$body .= "\n" . $content;
|
||||||
|
$body .= "\nThanks for using our service.";
|
||||||
|
$body .= "\n\nShikiryu";
|
||||||
|
$body .= "\n\nAny complain or advise? http://shikiryu.com/contact/";
|
||||||
|
include 'phpmailer.php';
|
||||||
|
try {
|
||||||
|
$mail = new PHPMailer(true);
|
||||||
|
$mail->setFrom($config['from_email'], $config['from_name']);
|
||||||
|
$mail->Subject = 'A new article to read : ' . $title;
|
||||||
|
$mail->addAddress($email);
|
||||||
|
if (!empty($config['bcc'])) {
|
||||||
|
$mail->addBCC($config['bcc']);
|
||||||
|
}
|
||||||
|
if ($xpath == '')
|
||||||
|
$mail->Body = $body;
|
||||||
|
else
|
||||||
|
$mail->Body = '<hr/>' . nl2br($body) . '<hr/>';
|
||||||
|
if ($mail->send()) {
|
||||||
|
echo 'alert("Email Sent.");';
|
||||||
|
} else {
|
||||||
|
echo ':(';
|
||||||
|
}
|
||||||
|
} catch (phpmailerException $et) {
|
||||||
|
echo 'alert("Error from sendmail :(");';
|
||||||
|
exit;
|
||||||
|
} catch (Exception $ep) {
|
||||||
|
echo 'alert("Email from SMTP :(");';
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if ($filtered_email === false) {
|
||||||
|
echo 'alert("Invalid Email");';
|
||||||
|
}
|
||||||
|
if ($filtered_version === false) {
|
||||||
|
echo 'alert("Invalid Version");';
|
||||||
|
}
|
||||||
|
if ($filtered_url === false) {
|
||||||
|
echo 'alert("Invalid URL");';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (isset($_POST['email'])) {
|
||||||
|
$filtered_email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
|
||||||
|
if ($filtered_email !== false) {
|
||||||
|
if ($_POST['html'] == 'on') { // bookmarklet pour l'envoi en HTML
|
||||||
|
$include = '<a href="javascript:void((function(){if(typeof(jQuery)!=\'function\'){var%20n=document.createElement(\'script\');n.setAttribute(\'src\',\'//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js\');document.getElementsByTagName(\'head\')[0].appendChild(n);}function%20v(){if(typeof(jQuery)==\'function\'){clearInterval(i);c();}}var%20i=window.setInterval(v,100);function%20c(){q=\'\';function%20gx(el){el=el.get(0);xp=\'\';for(;el&&el.nodeType==1;el=el.parentNode){id=jQuery(el.parentNode).children(el.tagName).index(el)+1;id>1?(id=\'[\'+id+\']\'):(id=\'\');xp=\'/\'+el.tagName.toLowerCase()+id+xp;}return%20xp;}jQuery(\'*\').bind(\'mouseenter\',function(){jQuery(\'*\').removeClass(\'shikihover\');jQuery(\'*\').css(\'border\',\'\');jQuery(this).css(\'border\',\'3px%20solid%20yellow\');jQuery(this).addClass(\'shikihover\');});jQuery(\'.shikihover\').live(\'click\',function(){jQuery(\'*\').unbind(\'mouseenter\').removeClass(\'shikihover\');jQuery(this).css(\'border\',\'\');var%20q=\'&q=\'+gx(jQuery(this)),d=document,t=d.title,f=\'//' . $_SERVER['HTTP_HOST'] . substr($_SERVER[PHP_SELF], 0, -9) . '\',m=\'' . $_POST['email'] . '\',l=d.location,e=encodeURIComponent,p=\'?v=1&u=\'+e(l.href)+\'&t=\'+e(t)+\'&m=\'+e(m),u=f+p+q;newScript=d.createElement(\'script\');newScript.type=\'text/javascript\';newScript.src=u;d.body.appendChild(newScript);});}})())">Bookmark by email</a>';
|
||||||
|
} else { // bookmarklet pour l'envoi normal
|
||||||
|
$include = "<a href='javascript:var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,t=d.title,f=\"//" . $_SERVER['HTTP_HOST'] . substr($_SERVER[PHP_SELF], 0, -9) . "\",m=\"" . $_POST['email'] . "\",l=d.location,e=encodeURIComponent,p=\"?v=1&u=\"+e(l.href)%20+\"&t=\"+e(t)%20+\"&m=\"+e(m),u=f+p;var%20newScript%20=%20document.createElement(\"script\");newScript.type=\"text/javascript\";newScript.src=u;document.body.appendChild(newScript);void(0)'>Bookmark by email</a>";
|
||||||
|
}
|
||||||
|
|
||||||
|
//ADDING STATS
|
||||||
|
include "XMLSQL.php";
|
||||||
|
$stats = new XMLSQL('emails.xml');
|
||||||
|
$stats->insert(array('ip' => getenv('REMOTE_ADDR'), 'date' => date('d/m/Y'), 'email' => $_POST['email']))->into('emails')->query();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$include = '<p class="error">Invalid email. Please <a href="javascript:history.go(-1);">go back</a></p>';
|
||||||
|
}
|
||||||
|
include 'template.php';
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$include = '<form name="bookmarkletGenerator" action="" method="POST">
|
||||||
|
<input type="email" name="email" id="email" value="" placeholder="email@example.com" /><input type="checkbox" id="html" value="on" name="html" /><label for="html">html?</label>
|
||||||
|
<input type="submit" value="Generate!" id="submit"/></form>';
|
||||||
|
include 'template.php';
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML <IMG/>.
|
||||||
|
* Author: Drew Diller
|
||||||
|
* Email: drew.diller@gmail.com
|
||||||
|
* URL: http://www.dillerdesign.com/experiment/DD_belatedPNG/
|
||||||
|
* Version: 0.0.8a
|
||||||
|
* Licensed under the MIT License: http://dillerdesign.com/experiment/DD_belatedPNG/#license
|
||||||
|
*
|
||||||
|
* Example usage:
|
||||||
|
* DD_belatedPNG.fix('.png_bg'); // argument is a CSS selector
|
||||||
|
* DD_belatedPNG.fixPng( someNode ); // argument is an HTMLDomElement
|
||||||
|
**/
|
||||||
|
var DD_belatedPNG={ns:"DD_belatedPNG",imgSize:{},delay:10,nodesFixed:0,createVmlNameSpace:function(){if(document.namespaces&&!document.namespaces[this.ns]){document.namespaces.add(this.ns,"urn:schemas-microsoft-com:vml")}},createVmlStyleSheet:function(){var b,a;b=document.createElement("style");b.setAttribute("media","screen");document.documentElement.firstChild.insertBefore(b,document.documentElement.firstChild.firstChild);if(b.styleSheet){b=b.styleSheet;b.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");b.addRule(this.ns+"\\:shape","position:absolute;");b.addRule("img."+this.ns+"_sizeFinder","behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;");this.screenStyleSheet=b;a=document.createElement("style");a.setAttribute("media","print");document.documentElement.firstChild.insertBefore(a,document.documentElement.firstChild.firstChild);a=a.styleSheet;a.addRule(this.ns+"\\:*","{display: none !important;}");a.addRule("img."+this.ns+"_sizeFinder","{display: none !important;}")}},readPropertyChange:function(){var b,c,a;b=event.srcElement;if(!b.vmlInitiated){return}if(event.propertyName.search("background")!=-1||event.propertyName.search("border")!=-1){DD_belatedPNG.applyVML(b)}if(event.propertyName=="style.display"){c=(b.currentStyle.display=="none")?"none":"block";for(a in b.vml){if(b.vml.hasOwnProperty(a)){b.vml[a].shape.style.display=c}}}if(event.propertyName.search("filter")!=-1){DD_belatedPNG.vmlOpacity(b)}},vmlOpacity:function(b){if(b.currentStyle.filter.search("lpha")!=-1){var a=b.currentStyle.filter;a=parseInt(a.substring(a.lastIndexOf("=")+1,a.lastIndexOf(")")),10)/100;b.vml.color.shape.style.filter=b.currentStyle.filter;b.vml.image.fill.opacity=a}},handlePseudoHover:function(a){setTimeout(function(){DD_belatedPNG.applyVML(a)},1)},fix:function(a){if(this.screenStyleSheet){var c,b;c=a.split(",");for(b=0;b<c.length;b++){this.screenStyleSheet.addRule(c[b],"behavior:expression(DD_belatedPNG.fixPng(this))")}}},applyVML:function(a){a.runtimeStyle.cssText="";this.vmlFill(a);this.vmlOffsets(a);this.vmlOpacity(a);if(a.isImg){this.copyImageBorders(a)}},attachHandlers:function(i){var d,c,g,e,b,f;d=this;c={resize:"vmlOffsets",move:"vmlOffsets"};if(i.nodeName=="A"){e={mouseleave:"handlePseudoHover",mouseenter:"handlePseudoHover",focus:"handlePseudoHover",blur:"handlePseudoHover"};for(b in e){if(e.hasOwnProperty(b)){c[b]=e[b]}}}for(f in c){if(c.hasOwnProperty(f)){g=function(){d[c[f]](i)};i.attachEvent("on"+f,g)}}i.attachEvent("onpropertychange",this.readPropertyChange)},giveLayout:function(a){a.style.zoom=1;if(a.currentStyle.position=="static"){a.style.position="relative"}},copyImageBorders:function(b){var c,a;c={borderStyle:true,borderWidth:true,borderColor:true};for(a in c){if(c.hasOwnProperty(a)){b.vml.color.shape.style[a]=b.currentStyle[a]}}},vmlFill:function(e){if(!e.currentStyle){return}else{var d,f,g,b,a,c;d=e.currentStyle}for(b in e.vml){if(e.vml.hasOwnProperty(b)){e.vml[b].shape.style.zIndex=d.zIndex}}e.runtimeStyle.backgroundColor="";e.runtimeStyle.backgroundImage="";f=true;if(d.backgroundImage!="none"||e.isImg){if(!e.isImg){e.vmlBg=d.backgroundImage;e.vmlBg=e.vmlBg.substr(5,e.vmlBg.lastIndexOf('")')-5)}else{e.vmlBg=e.src}g=this;if(!g.imgSize[e.vmlBg]){a=document.createElement("img");g.imgSize[e.vmlBg]=a;a.className=g.ns+"_sizeFinder";a.runtimeStyle.cssText="behavior:none; position:absolute; left:-10000px; top:-10000px; border:none; margin:0; padding:0;";c=function(){this.width=this.offsetWidth;this.height=this.offsetHeight;g.vmlOffsets(e)};a.attachEvent("onload",c);a.src=e.vmlBg;a.removeAttribute("width");a.removeAttribute("height");document.body.insertBefore(a,document.body.firstChild)}e.vml.image.fill.src=e.vmlBg;f=false}e.vml.image.fill.on=!f;e.vml.image.fill.color="none";e.vml.color.shape.style.backgroundColor=d.backgroundColor;e.runtimeStyle.backgroundImage="none";e.runtimeStyle.backgroundColor="transparent"},vmlOffsets:function(d){var h,n,a,e,g,m,f,l,j,i,k;h=d.currentStyle;n={W:d.clientWidth+1,H:d.clientHeight+1,w:this.imgSize[d.vmlBg].width,h:this.imgSize[d.vmlBg].height,L:d.offsetLeft,T:d.offsetTop,bLW:d.clientLeft,bTW:d.clientTop};a=(n.L+n.bLW==1)?1:0;e=function(b,p,q,c,s,u){b.coordsize=c+","+s;b.coordorigin=u+","+u;b.path="m0,0l"+c+",0l"+c+","+s+"l0,"+s+" xe";b.style.width=c+"px";b.style.height=s+"px";b.style.left=p+"px";b.style.top=q+"px"};e(d.vml.color.shape,(n.L+(d.isImg?0:n.bLW)),(n.T+(d.isImg?0:n.bTW)),(n.W-1),(n.H-1),0);e(d.vml.image.shape,(n.L+n.bLW),(n.T+n.bTW),(n.W),(n.H),1);g={X:0,Y:0};if(d.isImg){g.X=parseInt(h.paddingLeft,10)+1;g.Y=parseInt(h.paddingTop,10)+1}else{for(j in g){if(g.hasOwnProperty(j)){this.figurePercentage(g,n,j,h["backgroundPosition"+j])}}}d.vml.image.fill.position=(g.X/n.W)+","+(g.Y/n.H);m=h.backgroundRepeat;f={T:1,R:n.W+a,B:n.H,L:1+a};l={X:{b1:"L",b2:"R",d:"W"},Y:{b1:"T",b2:"B",d:"H"}};if(m!="repeat"||d.isImg){i={T:(g.Y),R:(g.X+n.w),B:(g.Y+n.h),L:(g.X)};if(m.search("repeat-")!=-1){k=m.split("repeat-")[1].toUpperCase();i[l[Line truncated
|
||||||
Vendored
+154
@@ -0,0 +1,154 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery JavaScript Library v1.4.2
|
||||||
|
* http://jquery.com/
|
||||||
|
*
|
||||||
|
* Copyright 2010, John Resig
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* Includes Sizzle.js
|
||||||
|
* http://sizzlejs.com/
|
||||||
|
* Copyright 2010, The Dojo Foundation
|
||||||
|
* Released under the MIT, BSD, and GPL Licenses.
|
||||||
|
*
|
||||||
|
* Date: Sat Feb 13 22:33:48 2010 -0500
|
||||||
|
*/
|
||||||
|
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
|
||||||
|
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
|
||||||
|
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
|
||||||
|
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
|
||||||
|
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
|
||||||
|
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
|
||||||
|
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
|
||||||
|
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
|
||||||
|
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(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(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
|
||||||
|
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
|
||||||
|
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
|
||||||
|
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
|
||||||
|
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
|
||||||
|
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
|
||||||
|
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
|
||||||
|
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
|
||||||
|
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
|
||||||
|
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
|
||||||
|
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
|
||||||
|
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
|
||||||
|
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
|
||||||
|
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
|
||||||
|
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
|
||||||
|
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
|
||||||
|
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
|
||||||
|
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
|
||||||
|
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
|
||||||
|
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
|
||||||
|
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
|
||||||
|
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
|
||||||
|
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
|
||||||
|
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
|
||||||
|
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
|
||||||
|
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
|
||||||
|
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
|
||||||
|
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
|
||||||
|
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
|
||||||
|
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
|
||||||
|
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
|
||||||
|
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
|
||||||
|
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
|
||||||
|
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
|
||||||
|
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
|
||||||
|
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
|
||||||
|
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
|
||||||
|
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
|
||||||
|
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
|
||||||
|
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
|
||||||
|
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
|
||||||
|
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
|
||||||
|
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
|
||||||
|
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
|
||||||
|
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
|
||||||
|
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
|
||||||
|
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
|
||||||
|
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
|
||||||
|
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
|
||||||
|
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
|
||||||
|
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
|
||||||
|
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
|
||||||
|
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
|
||||||
|
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
|
||||||
|
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
|
||||||
|
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
|
||||||
|
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
|
||||||
|
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
|
||||||
|
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
|
||||||
|
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
|
||||||
|
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
|
||||||
|
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
|
||||||
|
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
|
||||||
|
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
|
||||||
|
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
|
||||||
|
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
|
||||||
|
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
|
||||||
|
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
|
||||||
|
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
|
||||||
|
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
|
||||||
|
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
|
||||||
|
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
|
||||||
|
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
|
||||||
|
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
|
||||||
|
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
|
||||||
|
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
|
||||||
|
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
|
||||||
|
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
|
||||||
|
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
|
||||||
|
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
|
||||||
|
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
|
||||||
|
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
|
||||||
|
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
|
||||||
|
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
|
||||||
|
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
|
||||||
|
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
|
||||||
|
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
|
||||||
|
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
|
||||||
|
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
|
||||||
|
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
|
||||||
|
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
|
||||||
|
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
|
||||||
|
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
|
||||||
|
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
|
||||||
|
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
|
||||||
|
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
|
||||||
|
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
|
||||||
|
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
|
||||||
|
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
|
||||||
|
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
|
||||||
|
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
|
||||||
|
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
|
||||||
|
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
|
||||||
|
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
|
||||||
|
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
|
||||||
|
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
|
||||||
|
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
|
||||||
|
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
|
||||||
|
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
|
||||||
|
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
|
||||||
|
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
|
||||||
|
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
|
||||||
|
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
|
||||||
|
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
|
||||||
|
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
|
||||||
|
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
|
||||||
|
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
|
||||||
|
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
|
||||||
|
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
|
||||||
|
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
|
||||||
|
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
|
||||||
|
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
|
||||||
|
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
|
||||||
|
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
|
||||||
|
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
|
||||||
|
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
|
||||||
|
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
|
||||||
|
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
|
||||||
|
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
|
||||||
|
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
|
||||||
|
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
|
||||||
Vendored
+28
@@ -0,0 +1,28 @@
|
|||||||
|
/*!
|
||||||
|
* Modernizr JavaScript library 1.5
|
||||||
|
* http://www.modernizr.com/
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009-2010 Faruk Ates - http://farukat.es/
|
||||||
|
* Dual-licensed under the BSD and MIT licenses.
|
||||||
|
* http://www.modernizr.com/license/
|
||||||
|
*
|
||||||
|
* Featuring major contributions by
|
||||||
|
* Paul Irish - http://paulirish.com
|
||||||
|
*/
|
||||||
|
window.Modernizr=function(i,e,I){function C(a,b){for(var c in a)if(m[a[c]]!==I&&(!b||b(a[c],D)))return true}function r(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1);return!!C([a,"Webkit"+c,"Moz"+c,"O"+c,"ms"+c,"Khtml"+c],b)}function P(){j[E]=function(a){for(var b=0,c=a.length;b<c;b++)J[a[b]]=!!(a[b]in n);return J}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" "));j[Q]=function(a){for(var b=0,c,h=a.length;b<h;b++){n.setAttribute("type",a[b]);if(c=n.type!==
|
||||||
|
"text"){n.value=K;/tel|search/.test(n.type)||(c=/url|email/.test(n.type)?n.checkValidity&&n.checkValidity()===false:n.value!=K)}L[a[b]]=!!c}return L}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var j={},s=e.documentElement,D=e.createElement("modernizr"),m=D.style,n=e.createElement("input"),E="input",Q=E+"types",K=":)",M=Object.prototype.toString,y=" -o- -moz- -ms- -webkit- -khtml- ".split(" "),d={},L={},J={},N=[],u=function(){var a={select:"input",
|
||||||
|
change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"},b={};return function(c,h){var t=arguments.length==1;if(t&&b[c])return b[c];h=h||document.createElement(a[c]||"div");c="on"+c;var g=c in h;if(!g&&h.setAttribute){h.setAttribute(c,"return;");g=typeof h[c]=="function"}h=null;return t?(b[c]=g):g}}(),F={}.hasOwnProperty,O;O=typeof F!=="undefined"&&typeof F.call!=="undefined"?function(a,b){return F.call(a,b)}:function(a,b){return b in a&&typeof a.constructor.prototype[b]==="undefined"};
|
||||||
|
d.canvas=function(){return!!e.createElement("canvas").getContext};d.canvastext=function(){return!!(d.canvas()&&typeof e.createElement("canvas").getContext("2d").fillText=="function")};d.geolocation=function(){return!!navigator.geolocation};d.crosswindowmessaging=function(){return!!i.postMessage};d.websqldatabase=function(){var a=!!i.openDatabase;if(a)try{a=!!openDatabase("testdb","1.0","html5 test db",2E5)}catch(b){a=false}return a};d.indexedDB=function(){return!!i.indexedDB};d.hashchange=function(){return u("hashchange",
|
||||||
|
i)&&(document.documentMode===I||document.documentMode>7)};d.historymanagement=function(){return!!(i.history&&history.pushState)};d.draganddrop=function(){return u("drag")&&u("dragstart")&&u("dragenter")&&u("dragover")&&u("dragleave")&&u("dragend")&&u("drop")};d.websockets=function(){return"WebSocket"in i};d.rgba=function(){m.cssText="background-color:rgba(150,255,150,.5)";return(""+m.backgroundColor).indexOf("rgba")!==-1};d.hsla=function(){m.cssText="background-color:hsla(120,40%,100%,.5)";return(""+
|
||||||
|
m.backgroundColor).indexOf("rgba")!==-1};d.multiplebgs=function(){m.cssText="background:url(//:),url(//:),red url(//:)";return/(url\s*\(.*?){3}/.test(m.background)};d.backgroundsize=function(){return r("backgroundSize")};d.borderimage=function(){return r("borderImage")};d.borderradius=function(){return r("borderRadius","",function(a){return(""+a).indexOf("orderRadius")!==-1})};d.boxshadow=function(){return r("boxShadow")};d.opacity=function(){var a=y.join("opacity:.5;")+"";m.cssText=a;return(""+m.opacity).indexOf("0.5")!==
|
||||||
|
-1};d.cssanimations=function(){return r("animationName")};d.csscolumns=function(){return r("columnCount")};d.cssgradients=function(){var a=("background-image:"+y.join("gradient(linear,left top,right bottom,from(#9f9),to(white));background-image:")+y.join("linear-gradient(left top,#9f9, white);background-image:")).slice(0,-17);m.cssText=a;return(""+m.backgroundImage).indexOf("gradient")!==-1};d.cssreflections=function(){return r("boxReflect")};d.csstransforms=function(){return!!C(["transformProperty",
|
||||||
|
"WebkitTransform","MozTransform","OTransform","msTransform"])};d.csstransforms3d=function(){var a=!!C(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);if(a){var b=document.createElement("style"),c=e.createElement("div");b.textContent="@media ("+y.join("transform-3d),(")+"modernizr){#modernizr{height:3px}}";e.getElementsByTagName("head")[0].appendChild(b);c.id="modernizr";s.appendChild(c);a=c.offsetHeight===3;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}return a};
|
||||||
|
d.csstransitions=function(){return r("transitionProperty")};d.fontface=function(){var a;if(/*@cc_on@if(@_jscript_version>=5)!@end@*/0)a=true;else{var b=e.createElement("style"),c=e.createElement("span"),h,t=false,g=e.body,o,w;b.textContent="@font-face{font-family:testfont;src:url('data:font/ttf;base64,AAEAAAAMAIAAAwBAT1MvMliohmwAAADMAAAAVmNtYXCp5qrBAAABJAAAANhjdnQgACICiAAAAfwAAAAEZ2FzcP//AAMAAAIAAAAACGdseWYv5OZoAAACCAAAANxoZWFk69bnvwAAAuQAAAA2aGhlYQUJAt8AAAMcAAAAJGhtdHgGDgC4AAADQAAAABRsb2NhAIQAwgAAA1QAAAAMbWF4cABVANgAAANgAAAAIG5hbWUgXduAAAADgAAABPVwb3N03NkzmgAACHgAAAA4AAECBAEsAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAACAAMDAAAAAAAAgAACbwAAAAoAAAAAAAAAAFBmRWQAAAAgqS8DM/8zAFwDMwDNAAAABQAAAAAAAAAAAAMAAAADAAAAHAABAAAAAABGAAMAAQAAAK4ABAAqAAAABgAEAAEAAgAuqQD//wAAAC6pAP///9ZXAwAAAAAAAAACAAAABgBoAAAAAAAvAAEAAAAAAAAAAAAAAAAAAAABAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEACoAAAAGAAQAAQACAC6pAP//AAAALqkA////1lcDAAAAAAAAAAIAAAAiAogAAAAB//8AAgACACIAAAEyAqoAAwAHAC6xAQAvPLIHBADtMrEGBdw8sgMCAO0yALEDAC88sgUEAO0ysgcGAfw8sgECAO0yMxEhESczESMiARDuzMwCqv1WIgJmAAACAFUAAAIRAc0ADwAfAAATFRQWOwEyNj0BNCYrASIGARQGKwEiJj0BNDY7ATIWFX8aIvAiGhoi8CIaAZIoN/43KCg3/jcoAWD0JB4eJPQkHh7++EY2NkbVRjY2RgAAAAABAEH/+QCdAEEACQAANjQ2MzIWFAYjIkEeEA8fHw8QDxwWFhwWAAAAAQAAAAIAAIuYbWpfDzz1AAsEAAAAAADFn9IuAAAAAMWf0i797/8zA4gDMwAAAAgAAgAAAAAAAAABAAADM/8zAFwDx/3v/98DiAABAAAAAAAAAAAAAAAAAAAABQF2ACIAAAAAAVUAAAJmAFUA3QBBAAAAKgAqACoAWgBuAAEAAAAFAFAABwBUAAQAAgAAAAEAAQAAAEAALgADAAMAAAAQAMYAAQAAAAAAAACLAAAAAQAAAAAAAQAhAIsAAQAAAAAAAgAFAKwAAQAAAAAAAwBDALEAAQAAAAAABAAnAPQAAQAAAAAABQAKARsAAQAAAAAABgAmASUAAQAAAAAADgAaAUsAAwABBAkAAAEWAWUAAwABBAkAAQBCAnsAAwABBAkAAgAKAr0AAwABBAkAAwCGAscAAwABBAkABABOA00AAwABBAkABQAUA5sAAwABBAkABgBMA68AAwABBAkADgA0A/tDb3B5cmlnaHQgMjAwOSBieSBEYW5pZWwgSm9obnNvbi4gIFJlbGVhc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgT3BlbiBGb250IExpY2Vuc2UuIEtheWFoIExpIGdseXBocyBhcmUgcmVsZWFzZWQgdW5kZXIgdGhlIEdQTCB2ZXJzaW9uIDMuYmFlYzJhOTJiZmZlNTAzMiAtIHN1YnNldCBvZiBKdXJhTGlnaHRiYWVjMmE5MmJmZmU1MDMyIC0gc3Vic2V0IG9mIEZvbnRGb3JnZSAyLjAgOiBKdXJhIExpZ2h0IDogMjMtMS0yMDA5YmFlYzJhOTJiZmZlNTAzMiAtIHN1YnNldCBvZiBKdXJhIExpZ2h0VmVyc2lvbiAyIGJhZWMyYTkyYmZmZTUwMzIgLSBzdWJzZXQgb2YgSnVyYUxpZ2h0aHR0cDovL3NjcmlwdHMuc2lsLm9yZy9PRkwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMAA5ACAAYgB5ACAARABhAG4AaQBlAGwAIABKAG8AaABuAHMAbwBuAC4AIAAgAFIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAdABlAHIAbQBzACAAbwBmACAAdABoAGUAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALgAgAEsAYQB5AGEAaAAgAEwAaQAgAGcAbAB5AHAAaABzACAAYQByAGUAIAByAGUAbABlAGEAcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAEcAUABMACAAdgBlAHIAcwBpAG8AbgAgADMALgBiAGEAZQBjADIAYQA5ADIAYgBmAGYAZQA1ADAAMwAyACAALQAgAHMAdQBiAHMAZQB0ACAAbwBmACAASgB1AHIAYQBMAGkAZwBoAHQAYgBhAGUAYwAyAGEAOQAyAGIAZgBmAGUANQAwADMAMgAgAC0AIABzAHUAYgBzAGUAdAAgAG8AZgAgAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASgB1AHIAYQAgAEwAaQBnAGgAdAAgADoAIAAyADMALQAxAC0AMgAwADAAOQBiAGEAZQBjADIAYQA5ADIAYgBmAGYAZQA1ADAAMwAyACAALQAgAHMAdQBiAHMAZQB0ACAAbwBmACAASgB1AHIAYQAgAEwAaQBnAGgAdABWAGUAcgBzAGkAbwBuACAAMgAgAGIAYQBlAGMAMgBhADkAMgBiAGYAZgBlADUAMAAzADIAIAAtACAAcwB1AGIAcwBlAHQAIABvAGYAIABKAHUAcgBhAEwAaQBnAGgAdABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAAAAgAAAAAAAP+BADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQACAQIAEQt6ZXJva2F5YWhsaQ==')}";
|
||||||
|
e.getElementsByTagName("head")[0].appendChild(b);c.setAttribute("style","font:99px _,arial,helvetica;position:absolute;visibility:hidden");if(!g){g=s.appendChild(e.createElement("fontface"));t=true}c.innerHTML="........";c.id="fonttest";g.appendChild(c);h=c.offsetWidth*c.offsetHeight;c.style.font="99px testfont,_,arial,helvetica";a=h!==c.offsetWidth*c.offsetHeight;var v=function(){if(g.parentNode){a=j.fontface=h!==c.offsetWidth*c.offsetHeight;s.className=s.className.replace(/(no-)?fontface\b/,"")+
|
||||||
|
(a?" ":" no-")+"fontface"}};setTimeout(v,75);setTimeout(v,150);addEventListener("load",function(){v();(w=true)&&o&&o(a);setTimeout(function(){t||(g=c);g.parentNode.removeChild(g);b.parentNode.removeChild(b)},50)},false)}j._fontfaceready=function(p){w||a?p(a):(o=p)};return a||h!==c.offsetWidth};d.video=function(){var a=e.createElement("video"),b=!!a.canPlayType;if(b){b=new Boolean(b);b.ogg=a.canPlayType('video/ogg; codecs="theora"');b.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"');b.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return b};
|
||||||
|
d.audio=function(){var a=e.createElement("audio"),b=!!a.canPlayType;if(b){b=new Boolean(b);b.ogg=a.canPlayType('audio/ogg; codecs="vorbis"');b.mp3=a.canPlayType("audio/mpeg;");b.wav=a.canPlayType('audio/wav; codecs="1"');b.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}return b};d.localStorage=function(){return"localStorage"in i&&i.localStorage!==null};d.sessionStorage=function(){try{return"sessionStorage"in i&&i.sessionStorage!==null}catch(a){return false}};d.webworkers=function(){return!!i.Worker};
|
||||||
|
d.applicationCache=function(){var a=i.applicationCache;return!!(a&&typeof a.status!="undefined"&&typeof a.update=="function"&&typeof a.swapCache=="function")};d.svg=function(){return!!e.createElementNS&&!!e.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect};d.smil=function(){return!!e.createElementNS&&/SVG/.test(M.call(e.createElementNS("http://www.w3.org/2000/svg","animate")))};d.svgclippaths=function(){return!!e.createElementNS&&/SVG/.test(M.call(e.createElementNS("http://www.w3.org/2000/svg",
|
||||||
|
"clipPath")))};for(var z in d)if(O(d,z))N.push(((j[z.toLowerCase()]=d[z]())?"":"no-")+z.toLowerCase());j[E]||P();j.addTest=function(a,b){a=a.toLowerCase();if(!j[a]){b=!!b();s.className+=" "+(b?"":"no-")+a;j[a]=b;return j}};m.cssText="";D=n=null;(function(){var a=e.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1})()&&function(a,b){function c(f,k){if(o[f])o[f].styleSheet.cssText+=k;else{var l=t[G],q=b[A]("style");q.media=f;l.insertBefore(q,l[G]);o[f]=q;c(f,k)}}function h(f,
|
||||||
|
k){for(var l=new RegExp("\\b("+w+")\\b(?!.*[;}])","gi"),q=function(B){return".iepp_"+B},x=-1;++x<f.length;){k=f[x].media||k;h(f[x].imports,k);c(k,f[x].cssText.replace(l,q))}}for(var t=b.documentElement,g=b.createDocumentFragment(),o={},w="abbr|article|aside|audio|canvas|command|datalist|details|figure|figcaption|footer|header|hgroup|keygen|mark|meter|nav|output|progress|section|source|summary|time|video",v=w.split("|"),p=[],H=-1,G="firstChild",A="createElement";++H<v.length;){b[A](v[H]);g[A](v[H])}g=
|
||||||
|
g.appendChild(b[A]("div"));a.attachEvent("onbeforeprint",function(){for(var f,k=b.getElementsByTagName("*"),l,q,x=new RegExp("^"+w+"$","i"),B=-1;++B<k.length;)if((f=k[B])&&(q=f.nodeName.match(x))){l=new RegExp("^\\s*<"+q+"(.*)\\/"+q+">\\s*$","i");g.innerHTML=f.outerHTML.replace(/\r|\n/g," ").replace(l,f.currentStyle.display=="block"?"<div$1/div>":"<span$1/span>");l=g.childNodes[0];l.className+=" iepp_"+q;l=p[p.length]=[f,l];f.parentNode.replaceChild(l[1],l[0])}h(b.styleSheets,"all")});a.attachEvent("onafterprint",
|
||||||
|
function(){for(var f=-1,k;++f<p.length;)p[f][1].parentNode.replaceChild(p[f][0],p[f][1]);for(k in o)t[G].removeChild(o[k]);o={};p=[]})}(this,e);j._enableHTML5=true;j._version="1.5";s.className=s.className.replace(/\bno-js\b/,"")+" js";s.className+=" "+N.join(" ");return j}(this,this.document);
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
// remap jQuery to $
|
||||||
|
(function($){
|
||||||
|
|
||||||
|
|
||||||
|
$('div.french').hide();
|
||||||
|
$('#main > div > div').hide();
|
||||||
|
|
||||||
|
$('#en-lang').click(function(){
|
||||||
|
$('.french').hide();
|
||||||
|
$('.english').show();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#fr-lang').click(function(){
|
||||||
|
$('.french').show();
|
||||||
|
$('.english').hide();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('h2').click(function(){
|
||||||
|
$('h2').removeClass('active');
|
||||||
|
$(this).addClass('active');
|
||||||
|
$('#main > div > div').slideUp();
|
||||||
|
$(this).next('div').slideDown();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('hr').hide();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
})(window.jQuery);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// usage: log('inside coolFunc',this,arguments);
|
||||||
|
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
|
||||||
|
window.log = function(){
|
||||||
|
log.history = log.history || []; // store logs to an array for reference
|
||||||
|
log.history.push(arguments);
|
||||||
|
if(this.console){
|
||||||
|
console.log( Array.prototype.slice.call(arguments) );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// catch all document.write() calls
|
||||||
|
(function(doc){
|
||||||
|
var write = doc.write;
|
||||||
|
doc.write = function(q){
|
||||||
|
log('document.write(): ',arguments);
|
||||||
|
if (/docwriteregexwhitelist/.test(q)) write.apply(doc,arguments);
|
||||||
|
};
|
||||||
|
})(document);
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
@@ -0,0 +1,59 @@
|
|||||||
|
|
||||||
|
|
||||||
|
// call PROFILE.show() to show the profileViewer
|
||||||
|
|
||||||
|
var PROFILE = {
|
||||||
|
|
||||||
|
init : function(bool) {
|
||||||
|
|
||||||
|
// define what objects, constructors and functions you want to profile
|
||||||
|
// documentation here: http://developer.yahoo.com/yui/profiler/
|
||||||
|
|
||||||
|
YAHOO.tool.Profiler.registerObject("jQuery", jQuery, true);
|
||||||
|
|
||||||
|
// the following would profile all methods within constructor's prototype
|
||||||
|
// YAHOO.tool.Profiler.registerConstructor("Person");
|
||||||
|
|
||||||
|
// the following would profile the global function sayHi
|
||||||
|
// YAHOO.tool.Profiler.registerFunction("sayHi", window);
|
||||||
|
|
||||||
|
// if true is passed into init(), F9 will bring up the profiler
|
||||||
|
if (bool){
|
||||||
|
$(document).keyup(function(e){
|
||||||
|
if (e.keyCode === 120){
|
||||||
|
PROFILE.show();
|
||||||
|
$(document).unbind('keyup',arguments.callee);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
//When the showProfile button is clicked, use YUI Loader to get all required
|
||||||
|
//dependencies and then show the profile:
|
||||||
|
show : function() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var s = document.createElement('link');
|
||||||
|
s.setAttribute('rel','stylesheet');
|
||||||
|
s.setAttribute('type','text/css');
|
||||||
|
s.setAttribute('href','js/profiling/yahoo-profiling.css');
|
||||||
|
document.body.appendChild(s);
|
||||||
|
|
||||||
|
YAHOO.util.Dom.addClass(document.body, 'yui-skin-sam');
|
||||||
|
|
||||||
|
//instantiate ProfilerViewer with desired options:
|
||||||
|
var pv = new YAHOO.widget.ProfilerViewer("", {
|
||||||
|
visible: true, //expand the viewer mmediately after instantiation
|
||||||
|
showChart: true,
|
||||||
|
// base:"../../build/",
|
||||||
|
swfUrl: "js/profiling/charts.swf"
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// check some global debug variable to see if we should be profiling..
|
||||||
|
if (true) { PROFILE.init(true) }
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
/*
|
||||||
|
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
|
||||||
|
Code licensed under the BSD License:
|
||||||
|
http://developer.yahoo.net/yui/license.txt
|
||||||
|
version: 2.7.0
|
||||||
|
*/
|
||||||
|
.yui-skin-sam .yui-pv{background-color:#4a4a4a;font:arial;position:relative;width:99%;z-index:1000;margin-bottom:1em;overflow:hidden;}.yui-skin-sam .yui-pv .hd{background:url(http://yui.yahooapis.com/2.7.0/build/profilerviewer/assets/skins/sam/header_background.png) repeat-x;min-height:30px;overflow:hidden;zoom:1;padding:2px 0;}.yui-skin-sam .yui-pv .hd h4{padding:8px 10px;margin:0;font:bold 14px arial;color:#fff;}.yui-skin-sam .yui-pv .hd a{background:#3f6bc3;font:bold 11px arial;color:#fff;padding:4px;margin:3px 10px 0 0;border:1px solid #3f567d;cursor:pointer;display:block;float:right;}.yui-skin-sam .yui-pv .hd span{display:none;}.yui-skin-sam .yui-pv .hd span.yui-pv-busy{height:18px;width:18px;background:url(http://yui.yahooapis.com/2.7.0/build/profilerviewer/assets/skins/sam/wait.gif) no-repeat;overflow:hidden;display:block;float:right;margin:4px 10px 0 0;}.yui-skin-sam .yui-pv .hd:after,.yui-pv .bd:after,.yui-skin-sam .yui-pv-chartlegend dl:after{content:'.';visibility:hidden;clear:left;height:0;display:block;}.yui-skin-sam .yui-pv .bd{position:relative;zoom:1;overflow-x:auto;overflow-y:hidden;}.yui-skin-sam .yui-pv .yui-pv-table{padding:0 10px;margin:5px 0 10px 0;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-bd td{color:#eeee5c;font:12px arial;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd{background:#929292;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even{background:#58637a;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc{background:#384970;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc{background:#6F6E6E;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th{background-image:none;background:#2E2D2D;}.yui-skin-sam .yui-pv th.yui-dt-asc .yui-dt-liner{background:transparent url(http://yui.yahooapis.com/2.7.0/build/profilerviewer/assets/skins/sam/asc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv th.yui-dt-desc .yui-dt-liner{background:transparent url(http://yui.yahooapis.com/2.7.0/build/profilerviewer/assets/skins/sam/desc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th a{color:#fff;font:bold 12px arial;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc{background:#333;}.yui-skin-sam .yui-pv-chartcontainer{padding:0 10px;}.yui-skin-sam .yui-pv-chart{height:250px;clear:right;margin:5px 0 0 0;color:#fff;}.yui-skin-sam .yui-pv-chartlegend div{float:right;margin:0 0 0 10px;_width:250px;}.yui-skin-sam .yui-pv-chartlegend dl{border:1px solid #999;padding:.2em 0 .2em .5em;zoom:1;margin:5px 0;}.yui-skin-sam .yui-pv-chartlegend dt{float:left;display:block;height:.7em;width:.7em;padding:0;}.yui-skin-sam .yui-pv-chartlegend dd{float:left;display:block;color:#fff;margin:0 1em 0 .5em;padding:0;font:11px arial;}.yui-skin-sam .yui-pv-minimized{height:35px;}.yui-skin-sam .yui-pv-minimized .bd{top:-3000px;}.yui-skin-sam .yui-pv-minimized .hd a.yui-pv-refresh{display:none;}
|
||||||
Vendored
+39
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
|
||||||
|
Code licensed under the BSD License:
|
||||||
|
http://developer.yahoo.net/yui/license.txt
|
||||||
|
version: 2.7.0
|
||||||
|
*/
|
||||||
|
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=(""+A[C]).split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules,B,H,G,F,C;if(!I[A]){I[A]={versions:[],builds:[]};}B=I[A];H=D.version;G=D.build;F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0,caja:0},B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}A=B.match(/Caja\/([^\s]*)/);if(A&&A[1]){C.caja=parseFloat(A[1]);}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var B=YAHOO.lang,F="[object Array]",C="[object Function]",A=Object.prototype,E=["toString","valueOf"],D={isArray:function(G){return A.toString.apply(G)===F;},isBoolean:function(G){return typeof G==="boolean";},isFunction:function(G){return A.toString.apply(G)===C;},isNull:function(G){return G===null;},isNumber:function(G){return typeof G==="number"&&isFinite(G);},isObject:function(G){return(G&&(typeof G==="object"||B.isFunction(G)))||false;},isString:function(G){return typeof G==="string";},isUndefined:function(G){return typeof G==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(I,H){var G,K,J;for(G=0;G<E.length;G=G+1){K=E[G];J=H[K];if(B.isFunction(J)&&J!=A[K]){I[K]=J;}}}:function(){},extend:function(J,K,I){if(!K||!J){throw new Error("extend failed, please check that "+"all dependencies are included.");}var H=function(){},G;H.prototype=K.prototype;J.prototype=new H();J.prototype.constructor=J;J.superclass=K.prototype;if(K.prototype.constructor==A.constructor){K.prototype.constructor=K;}if(I){for(G in I){if(B.hasOwnProperty(I,G)){J.prototype[G]=I[G];}}B._IEEnumFix(J.prototype,I);}},augmentObject:function(K,J){if(!J||!K){throw new Error("Absorb failed, verify dependencies.");}var G=arguments,I,L,H=G[2];if(H&&H!==true){for(I=2;I<G.length;I=I+1){K[G[I]]=J[G[I]];}}else{for(L in J){if(H||!(L in K)){K[L]=J[L];}}B._IEEnumFix(K,J);}},augmentProto:function(J,I){if(!I||!J){throw new Error("Augment failed, verify dependencies.");}var G=[J.prototype,I.prototype],H;for(H=2;H<arguments.length;H=H+1){G.push(arguments[H]);}B.augmentObject.apply(this,G);},dump:function(G,L){var I,K,N=[],O="{...}",H="f(){...}",M=", ",J=" => ";if(!B.isObject(G)){return G+"";}else{if(G instanceof Date||("nodeType" in G&&"tagName" in G)){return G;}else{if(B.isFunction(G)){return H;}}}L=(B.isNumber(L))?L:3;if(B.isArray(G)){N.push("[");for(I=0,K=G.length;I<K;I=I+1){if(B.isObject(G[I])){N.push((L>0)?B.dump(G[I],L-1):O);}else{N.push(G[I]);}N.push(M);}if(N.length>1){N.pop();}N.push("]");}else{N.push("{");for(I in G){if(B.hasOwnProperty(G,I)){N.push(I+J);if(B.isObject(G[I])){N.push((L>0)?B.dump(G[I],L-1):O);}else{N.push(G[I]);}N.push(M);}}if(N.length>1){N.pop();}N.push("}");}return N.join("");},substitute:function(V,H,O){var L,K,J,R,S,U,Q=[],I,M="dump",P=" ",G="{",T="}",N;for(;;){L=V.lastIndexOf(G);if(L<0){break;}K=V.indexOf(T,L);if(L+1>=K){break;}I=V.substring(L+1,K);R=I;U=null;J=R.indexOf(P);if(J>-1){U=R.substring(J+1);R=R.substring(0,J);}S=H[R];if(O){S=O(R,S,U);}if(B.isObject(S)){if(B.isArray(S)){S=B.dump(S,parseInt(U,10));}else{U=U||"";N=U.indexOf(M);if(N>-1){U=U.substring(4);}if(S.toString===A.toString||N>-1){S=B.dump(S,parseInt(U,10));}else{S=S.toString();}}}else{if(!B.isString(S)&&!B.isNumber(S)){S="~-"+Q.length+"-~";Q[Q.length]=I;}}V=V.substring(0,L)+S+V.substring(K+1);}for(L=Q.length-1;L>=0;L=L-1){V=V.replace(new RegExp("~-"+L+"-~"),"{"+Q[L]+"}","g");}return V;},trim:function(G){try{return G.replace(/^\s+|\s+$/g,"");}catch(H){return G;}},merge:function(){var J={},H=arguments,G=H.length,I;for(I=0;I<G;I=I+1){B.augmentObject(J,H[I],true);}return J;},later:function(N,H,O,J,K){N=N||0;H=H||{};var I=O,MLine truncated
|
||||||
|
};var P=function(T,U,W){var V=W||"utf-8";return J("script",{"id":"yui__dyn_"+(R++),"type":"text/javascript","charset":V,"src":T},U);};var A=function(T,U){return{tId:T.tId,win:T.win,data:T.data,nodes:T.nodes,msg:U,purge:function(){D(this.tId);}};};var B=function(T,W){var U=M[W],V=(S.isString(T))?U.win.document.getElementById(T):T;if(!V){Q(W,"target node not found: "+T);}return V;};var Q=function(W,V){var T=M[W];if(T.onFailure){var U=T.scope||T.win;T.onFailure.call(U,A(T,V));}};var C=function(W){var T=M[W];T.finished=true;if(T.aborted){var V="transaction "+W+" was aborted";Q(W,V);return;}if(T.onSuccess){var U=T.scope||T.win;T.onSuccess.call(U,A(T));}};var O=function(V){var T=M[V];if(T.onTimeout){var U=T.scope||T;T.onTimeout.call(U,A(T));}};var G=function(V,Z){var U=M[V];if(U.timer){U.timer.cancel();}if(U.aborted){var X="transaction "+V+" was aborted";Q(V,X);return;}if(Z){U.url.shift();if(U.varName){U.varName.shift();}}else{U.url=(S.isString(U.url))?[U.url]:U.url;if(U.varName){U.varName=(S.isString(U.varName))?[U.varName]:U.varName;}}var c=U.win,b=c.document,a=b.getElementsByTagName("head")[0],W;if(U.url.length===0){if(U.type==="script"&&N.webkit&&N.webkit<420&&!U.finalpass&&!U.varName){var Y=P(null,U.win,U.charset);Y.innerHTML='YAHOO.util.Get._finalize("'+V+'");';U.nodes.push(Y);a.appendChild(Y);}else{C(V);}return;}var T=U.url[0];if(!T){U.url.shift();return G(V);}if(U.timeout){U.timer=S.later(U.timeout,U,O,V);}if(U.type==="script"){W=P(T,c,U.charset);}else{W=I(T,c,U.charset);}F(U.type,W,V,T,c,U.url.length);U.nodes.push(W);if(U.insertBefore){var e=B(U.insertBefore,V);if(e){e.parentNode.insertBefore(W,e);}}else{a.appendChild(W);}if((N.webkit||N.gecko)&&U.type==="css"){G(V,T);}};var K=function(){if(E){return;}E=true;for(var T in M){var U=M[T];if(U.autopurge&&U.finished){D(U.tId);delete M[T];}}E=false;};var D=function(a){var X=M[a];if(X){var Z=X.nodes,T=Z.length,Y=X.win.document,W=Y.getElementsByTagName("head")[0];if(X.insertBefore){var V=B(X.insertBefore,a);if(V){W=V.parentNode;}}for(var U=0;U<T;U=U+1){W.removeChild(Z[U]);}X.nodes=[];}};var H=function(U,T,V){var X="q"+(L++);V=V||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[X]=S.merge(V,{tId:X,type:U,url:T,finished:false,aborted:false,nodes:[]});var W=M[X];W.win=W.win||window;W.scope=W.scope||W.win;W.autopurge=("autopurge" in W)?W.autopurge:(U==="script")?true:false;S.later(0,W,G,X);return{tId:X};};var F=function(c,X,W,U,Y,Z,b){var a=b||G;if(N.ie){X.onreadystatechange=function(){var d=this.readyState;if("loaded"===d||"complete"===d){X.onreadystatechange=null;a(W,U);}};}else{if(N.webkit){if(c==="script"){if(N.webkit>=420){X.addEventListener("load",function(){a(W,U);});}else{var T=M[W];if(T.varName){var V=YAHOO.util.Get.POLL_FREQ;T.maxattempts=YAHOO.util.Get.TIMEOUT/V;T.attempts=0;T._cache=T.varName[0].split(".");T.timer=S.later(V,T,function(j){var f=this._cache,e=f.length,d=this.win,g;for(g=0;g<e;g=g+1){d=d[f[g]];if(!d){this.attempts++;if(this.attempts++>this.maxattempts){var h="Over retry limit, giving up";T.timer.cancel();Q(W,h);}else{}return;}}T.timer.cancel();a(W,U);},null,true);}else{S.later(YAHOO.util.Get.POLL_FREQ,null,a,[W,U]);}}}}else{X.onload=function(){a(W,U);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(T){S.later(0,null,C,T);},abort:function(U){var V=(S.isString(U))?U:U.tId;var T=M[V];if(T){T.aborted=true;}},script:function(T,U){return H("script",T,U);},css:function(T,U){return H("css",T,U);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.7.0",build:"1796"});(function(){var Y=YAHOO,util=Y.util,lang=Y.lang,env=Y.env,PROV="_provides",SUPER="_supersedes",REQ="expanded",AFTER="_after";var YUI={dupsAllowed:{"yahoo":true,"get":true},info:{"root":"2.7.0/build/","base":"http://yui.yahooapis.com/2.7.0/build/","comboBase":"http://yui.yahooapis.com/combo?","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},dupsAllowed:["yahoo","get"],"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event","datasource"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],"skinnable":true},"carousel":{"type":"js","path":"carousel/carousel-min.js","requires":["element"],"optional":["animation"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-min.js","requires":["element","json","datasource"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"]},"container":{"type":"js",Line truncated
|
||||||
|
i<a.length;i=i+1){o[a[i]]=true;}}},keys:function(o,ordered){var a=[],i;for(i in o){if(lang.hasOwnProperty(o,i)){a.push(i);}}return a;}},ArrayUtil:{appendArray:function(a1,a2){Array.prototype.push.apply(a1,a2);},indexOf:function(a,val){for(var i=0;i<a.length;i=i+1){if(a[i]===val){return i;}}return -1;},toObject:function(a){var o={};for(var i=0;i<a.length;i=i+1){o[a[i]]=true;}return o;},uniq:function(a){return YUI.ObjectUtil.keys(YUI.ArrayUtil.toObject(a));}}};YAHOO.util.YUILoader=function(o){this._internalCallback=null;this._useYahooListener=false;this.onSuccess=null;this.onFailure=Y.log;this.onProgress=null;this.onTimeout=null;this.scope=this;this.data=null;this.insertBefore=null;this.charset=null;this.varName=null;this.base=YUI.info.base;this.comboBase=YUI.info.comboBase;this.combine=false;this.root=YUI.info.root;this.timeout=0;this.ignore=null;this.force=null;this.allowRollup=true;this.filter=null;this.required={};this.moduleInfo=lang.merge(YUI.info.moduleInfo);this.rollups=null;this.loadOptional=false;this.sorted=[];this.loaded={};this.dirty=true;this.inserted={};var self=this;env.listeners.push(function(m){if(self._useYahooListener){self.loadNext(m.name);}});this.skin=lang.merge(YUI.info.skin);this._config(o);};Y.util.YUILoader.prototype={FILTERS:{RAW:{"searchExp":"-min\\.js","replaceStr":".js"},DEBUG:{"searchExp":"-min\\.js","replaceStr":"-debug.js"}},SKIN_PREFIX:"skin-",_config:function(o){if(o){for(var i in o){if(lang.hasOwnProperty(o,i)){if(i=="require"){this.require(o[i]);}else{this[i]=o[i];}}}}var f=this.filter;if(lang.isString(f)){f=f.toUpperCase();if(f==="DEBUG"){this.require("logger");}if(!Y.widget.LogWriter){Y.widget.LogWriter=function(){return Y;};}this.filter=this.FILTERS[f];}},addModule:function(o){if(!o||!o.name||!o.type||(!o.path&&!o.fullpath)){return false;}o.ext=("ext" in o)?o.ext:true;o.requires=o.requires||[];this.moduleInfo[o.name]=o;this.dirty=true;return true;},require:function(what){var a=(typeof what==="string")?arguments:what;this.dirty=true;YUI.ObjectUtil.appendArray(this.required,a);},_addSkin:function(skin,mod){var name=this.formatSkin(skin),info=this.moduleInfo,sinf=this.skin,ext=info[mod]&&info[mod].ext;if(!info[name]){this.addModule({"name":name,"type":"css","path":sinf.base+skin+"/"+sinf.path,"after":sinf.after,"rollup":sinf.rollup,"ext":ext});}if(mod){name=this.formatSkin(skin,mod);if(!info[name]){var mdef=info[mod],pkg=mdef.pkg||mod;this.addModule({"name":name,"type":"css","after":sinf.after,"path":pkg+"/"+sinf.base+skin+"/"+mod+".css","ext":ext});}}return name;},getRequires:function(mod){if(!mod){return[];}if(!this.dirty&&mod.expanded){return mod.expanded;}mod.requires=mod.requires||[];var i,d=[],r=mod.requires,o=mod.optional,info=this.moduleInfo,m;for(i=0;i<r.length;i=i+1){d.push(r[i]);m=info[r[i]];YUI.ArrayUtil.appendArray(d,this.getRequires(m));}if(o&&this.loadOptional){for(i=0;i<o.length;i=i+1){d.push(o[i]);YUI.ArrayUtil.appendArray(d,this.getRequires(info[o[i]]));}}mod.expanded=YUI.ArrayUtil.uniq(d);return mod.expanded;},getProvides:function(name,notMe){var addMe=!(notMe),ckey=(addMe)?PROV:SUPER,m=this.moduleInfo[name],o={};if(!m){return o;}if(m[ckey]){return m[ckey];}var s=m.supersedes,done={},me=this;var add=function(mm){if(!done[mm]){done[mm]=true;lang.augmentObject(o,me.getProvides(mm));}};if(s){for(var i=0;i<s.length;i=i+1){add(s[i]);}}m[SUPER]=o;m[PROV]=lang.merge(o);m[PROV][name]=true;return m[ckey];},calculate:function(o){if(o||this.dirty){this._config(o);this._setup();this._explode();if(this.allowRollup){this._rollup();}this._reduce();this._sort();this.dirty=false;}},_setup:function(){var info=this.moduleInfo,name,i,j;for(name in info){if(lang.hasOwnProperty(info,name)){var m=info[name];if(m&&m.skinnable){var o=this.skin.overrides,smod;if(o&&o[name]){for(i=0;i<o[name].length;i=i+1){smod=this._addSkin(o[name][i],name);}}else{smod=this._addSkin(this.skin.defaultSkin,name);}m.requires.push(smod);}}}var l=lang.merge(this.inserted);if(!this._sandbox){l=lang.merge(l,env.modules);}if(this.ignore){YUI.ObjectUtil.appendArray(l,this.ignore);}if(this.force){for(i=0;i<this.force.length;i=i+1){if(this.force[i] in l){delete l[this.force[i]];}}}for(j in l){if(lang.hasOwnProperty(l,j)){lang.augmentObject(l,this.getProvides(j));}}this.loaded=l;},_explode:function(){var r=this.required,i,mod;for(i in r){if(lang.hasOwnProperty(r,i)){mod=this.moduleInfo[i];if(mod){var req=this.getRequires(mod);if(req){YUI.ObjectUtil.appendArray(r,req);}}}}},_skin:function(){},formatSkin:function(skin,mod){var s=this.SKIN_PREFIX+skin;if(mod){s=s+"-"+mod;}return s;},parseSkin:function(mod){if(mod.indexOf(this.SKIN_PREFIX)===0){var a=mod.split("-");return{skin:a[1],module:a[2]};}return null;},_rollup:function(){var i,j,m,s,rollups={},r=this.required,roll,info=this.moduleInfo;if(this.dirty||!this.rollups){for(i in info){if(lang.hasOwnProperty(info,i)){m=info[i];if(m&&m.rollup){rollups[i]=m;}}}this.rollups=rollups;}for(;;){var rolled=false;for(i in rollups){if(!r[i]&&!this.loaded[i]){m=info[i];sLine truncated
|
||||||
|
}},_onTimeout:function(){YAHOO.log("Timeout","info","loader");var f=this.onTimeout;if(f){f.call(this.scope,{msg:"timeout",data:this.data,success:false});}},_sort:function(){var s=[],info=this.moduleInfo,loaded=this.loaded,checkOptional=!this.loadOptional,me=this;var requires=function(aa,bb){var mm=info[aa];if(loaded[bb]||!mm){return false;}var ii,rr=mm.expanded,after=mm.after,other=info[bb],optional=mm.optional;if(rr&&YUI.ArrayUtil.indexOf(rr,bb)>-1){return true;}if(after&&YUI.ArrayUtil.indexOf(after,bb)>-1){return true;}if(checkOptional&&optional&&YUI.ArrayUtil.indexOf(optional,bb)>-1){return true;}var ss=info[bb]&&info[bb].supersedes;if(ss){for(ii=0;ii<ss.length;ii=ii+1){if(requires(aa,ss[ii])){return true;}}}if(mm.ext&&mm.type=="css"&&!other.ext&&other.type=="css"){return true;}return false;};for(var i in this.required){if(lang.hasOwnProperty(this.required,i)){s.push(i);}}var p=0;for(;;){var l=s.length,a,b,j,k,moved=false;for(j=p;j<l;j=j+1){a=s[j];for(k=j+1;k<l;k=k+1){if(requires(a,s[k])){b=s.splice(k,1);s.splice(j,0,b[0]);moved=true;break;}}if(moved){break;}else{p=p+1;}}if(!moved){break;}}this.sorted=s;},toString:function(){var o={type:"YUILoader",base:this.base,filter:this.filter,required:this.required,loaded:this.loaded,inserted:this.inserted};lang.dump(o,1);},_combine:function(){this._combining=[];var self=this,s=this.sorted,len=s.length,js=this.comboBase,css=this.comboBase,target,startLen=js.length,i,m,type=this.loadType;YAHOO.log("type "+type);for(i=0;i<len;i=i+1){m=this.moduleInfo[s[i]];if(m&&!m.ext&&(!type||type===m.type)){target=this.root+m.path;target+="&";if(m.type=="js"){js+=target;}else{css+=target;}this._combining.push(s[i]);}}if(this._combining.length){YAHOO.log("Attempting to combine: "+this._combining,"info","loader");var callback=function(o){var c=this._combining,len=c.length,i,m;for(i=0;i<len;i=i+1){this.inserted[c[i]]=true;}this.loadNext(o.data);},loadScript=function(){if(js.length>startLen){YAHOO.util.Get.script(self._filter(js),{data:self._loading,onSuccess:callback,onFailure:self._onFailure,onTimeout:self._onTimeout,insertBefore:self.insertBefore,charset:self.charset,timeout:self.timeout,scope:self});}};if(css.length>startLen){YAHOO.util.Get.css(this._filter(css),{data:this._loading,onSuccess:loadScript,onFailure:this._onFailure,onTimeout:this._onTimeout,insertBefore:this.insertBefore,charset:this.charset,timeout:this.timeout,scope:self});}else{loadScript();}return;}else{this.loadNext(this._loading);}},insert:function(o,type){this.calculate(o);this._loading=true;this.loadType=type;if(this.combine){return this._combine();}if(!type){var self=this;this._internalCallback=function(){self._internalCallback=null;self.insert(null,"js");};this.insert(null,"css");return;}this.loadNext();},sandbox:function(o,type){this._config(o);if(!this.onSuccess){throw new Error("You must supply an onSuccess handler for your sandbox");}this._sandbox=true;var self=this;if(!type||type!=="js"){this._internalCallback=function(){self._internalCallback=null;self.sandbox(null,"js");};this.insert(null,"css");return;}if(!util.Connect){var ld=new YAHOO.util.YUILoader();ld.insert({base:this.base,filter:this.filter,require:"connection",insertBefore:this.insertBefore,charset:this.charset,onSuccess:function(){this.sandbox(null,"js");},scope:this},"js");return;}this._scriptText=[];this._loadCount=0;this._stopCount=this.sorted.length;this._xhr=[];this.calculate();var s=this.sorted,l=s.length,i,m,url;for(i=0;i<l;i=i+1){m=this.moduleInfo[s[i]];if(!m){this._onFailure("undefined module "+m);for(var j=0;j<this._xhr.length;j=j+1){this._xhr[j].abort();}return;}if(m.type!=="js"){this._loadCount++;continue;}url=m.fullpath;url=(url)?this._filter(url):this._url(m.path);var xhrData={success:function(o){var idx=o.argument[0],name=o.argument[2];this._scriptText[idx]=o.responseText;if(this.onProgress){this.onProgress.call(this.scope,{name:name,scriptText:o.responseText,xhrResponse:o,data:this.data});}this._loadCount++;if(this._loadCount>=this._stopCount){var v=this.varName||"YAHOO";var t="(function() {\n";var b="\nreturn "+v+";\n})();";var ref=eval(t+this._scriptText.join("\n")+b);this._pushEvents(ref);if(ref){this.onSuccess.call(this.scope,{reference:ref,data:this.data});}else{this._onFailure.call(this.varName+" reference failure");}}},failure:function(o){this.onFailure.call(this.scope,{msg:"XHR failure",xhrResponse:o,data:this.data});},scope:this,argument:[i,url,s[i]]};this._xhr.push(util.Connect.asyncRequest("GET",url,xhrData));}},loadNext:function(mname){if(!this._loading){return;}if(mname){if(mname!==this._loading){return;}this.inserted[mname]=true;if(this.onProgress){this.onProgress.call(this.scope,{name:mname,data:this.data});}}var s=this.sorted,len=s.length,i,m;for(i=0;i<len;i=i+1){if(s[i] in this.inserted){continue;}if(s[i]===this._loading){return;}m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});return;}if(!this.loadType||this.loadType===m.type){this._loading=s[i];var fLine truncated
|
||||||
|
(function(){YAHOO.env._id_counter=YAHOO.env._id_counter||0;var E=YAHOO.util,L=YAHOO.lang,m=YAHOO.env.ua,A=YAHOO.lang.trim,d={},h={},N=/^t(?:able|d|h)$/i,X=/color$/i,K=window.document,W=K.documentElement,e="ownerDocument",n="defaultView",v="documentElement",t="compatMode",b="offsetLeft",P="offsetTop",u="offsetParent",Z="parentNode",l="nodeType",C="tagName",O="scrollLeft",i="scrollTop",Q="getBoundingClientRect",w="getComputedStyle",a="currentStyle",M="CSS1Compat",c="BackCompat",g="class",F="className",J="",B=" ",s="(?:^|\\s)",k="(?= |$)",U="g",p="position",f="fixed",V="relative",j="left",o="top",r="medium",q="borderLeftWidth",R="borderTopWidth",D=m.opera,I=m.webkit,H=m.gecko,T=m.ie;E.Dom={CUSTOM_ATTRIBUTES:(!W.hasAttribute)?{"for":"htmlFor","class":F}:{"htmlFor":"for","className":g},get:function(y){var AA,Y,z,x,G;if(y){if(y[l]||y.item){return y;}if(typeof y==="string"){AA=y;y=K.getElementById(y);if(y&&y.id===AA){return y;}else{if(y&&K.all){y=null;Y=K.all[AA];for(x=0,G=Y.length;x<G;++x){if(Y[x].id===AA){return Y[x];}}}}return y;}if(y.DOM_EVENTS){y=y.get("element");}if("length" in y){z=[];for(x=0,G=y.length;x<G;++x){z[z.length]=E.Dom.get(y[x]);}return z;}return y;}return null;},getComputedStyle:function(G,Y){if(window[w]){return G[e][n][w](G,null)[Y];}else{if(G[a]){return E.Dom.IE_ComputedStyle.get(G,Y);}}},getStyle:function(G,Y){return E.Dom.batch(G,E.Dom._getStyle,Y);},_getStyle:function(){if(window[w]){return function(G,y){y=(y==="float")?y="cssFloat":E.Dom._toCamel(y);var x=G.style[y],Y;if(!x){Y=G[e][n][w](G,null);if(Y){x=Y[y];}}return x;};}else{if(W[a]){return function(G,y){var x;switch(y){case"opacity":x=100;try{x=G.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(z){try{x=G.filters("alpha").opacity;}catch(Y){}}return x/100;case"float":y="styleFloat";default:y=E.Dom._toCamel(y);x=G[a]?G[a][y]:null;return(G.style[y]||x);}};}}}(),setStyle:function(G,Y,x){E.Dom.batch(G,E.Dom._setStyle,{prop:Y,val:x});},_setStyle:function(){if(T){return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){switch(x){case"opacity":if(L.isString(Y.style.filter)){Y.style.filter="alpha(opacity="+y*100+")";if(!Y[a]||!Y[a].hasLayout){Y.style.zoom=1;}}break;case"float":x="styleFloat";default:Y.style[x]=y;}}else{}};}else{return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){if(x=="float"){x="cssFloat";}Y.style[x]=y;}else{}};}}(),getXY:function(G){return E.Dom.batch(G,E.Dom._getXY);},_canPosition:function(G){return(E.Dom._getStyle(G,"display")!=="none"&&E.Dom._inDoc(G));},_getXY:function(){if(K[v][Q]){return function(y){var z,Y,AA,AF,AE,AD,AC,G,x,AB=Math.floor,AG=false;if(E.Dom._canPosition(y)){AA=y[Q]();AF=y[e];z=E.Dom.getDocumentScrollLeft(AF);Y=E.Dom.getDocumentScrollTop(AF);AG=[AB(AA[j]),AB(AA[o])];if(T&&m.ie<8){AE=2;AD=2;AC=AF[t];G=S(AF[v],q);x=S(AF[v],R);if(m.ie===6){if(AC!==c){AE=0;AD=0;}}if((AC==c)){if(G!==r){AE=parseInt(G,10);}if(x!==r){AD=parseInt(x,10);}}AG[0]-=AE;AG[1]-=AD;}if((Y||z)){AG[0]+=z;AG[1]+=Y;}AG[0]=AB(AG[0]);AG[1]=AB(AG[1]);}else{}return AG;};}else{return function(y){var x,Y,AA,AB,AC,z=false,G=y;if(E.Dom._canPosition(y)){z=[y[b],y[P]];x=E.Dom.getDocumentScrollLeft(y[e]);Y=E.Dom.getDocumentScrollTop(y[e]);AC=((H||m.webkit>519)?true:false);while((G=G[u])){z[0]+=G[b];z[1]+=G[P];if(AC){z=E.Dom._calcBorders(G,z);}}if(E.Dom._getStyle(y,p)!==f){G=y;while((G=G[Z])&&G[C]){AA=G[i];AB=G[O];if(H&&(E.Dom._getStyle(G,"overflow")!=="visible")){z=E.Dom._calcBorders(G,z);}if(AA||AB){z[0]-=AB;z[1]-=AA;}}z[0]+=x;z[1]+=Y;}else{if(D){z[0]-=x;z[1]-=Y;}else{if(I||H){z[0]+=x;z[1]+=Y;}}}z[0]=Math.floor(z[0]);z[1]=Math.floor(z[1]);}else{}return z;};}}(),getX:function(G){var Y=function(x){return E.Dom.getXY(x)[0];};return E.Dom.batch(G,Y,E.Dom,true);},getY:function(G){var Y=function(x){return E.Dom.getXY(x)[1];};return E.Dom.batch(G,Y,E.Dom,true);},setXY:function(G,x,Y){E.Dom.batch(G,E.Dom._setXY,{pos:x,noRetry:Y});},_setXY:function(G,z){var AA=E.Dom._getStyle(G,p),y=E.Dom.setStyle,AD=z.pos,Y=z.noRetry,AB=[parseInt(E.Dom.getComputedStyle(G,j),10),parseInt(E.Dom.getComputedStyle(G,o),10)],AC,x;if(AA=="static"){AA=V;y(G,p,AA);}AC=E.Dom._getXY(G);if(!AD||AC===false){return false;}if(isNaN(AB[0])){AB[0]=(AA==V)?0:G[b];}if(isNaN(AB[1])){AB[1]=(AA==V)?0:G[P];}if(AD[0]!==null){y(G,j,AD[0]-AC[0]+AB[0]+"px");}if(AD[1]!==null){y(G,o,AD[1]-AC[1]+AB[1]+"px");}if(!Y){x=E.Dom._getXY(G);if((AD[0]!==null&&x[0]!=AD[0])||(AD[1]!==null&&x[1]!=AD[1])){E.Dom._setXY(G,{pos:AD,noRetry:true});}}},setX:function(Y,G){E.Dom.setXY(Y,[G,null]);},setY:function(G,Y){E.Dom.setXY(G,[null,Y]);},getRegion:function(G){var Y=function(x){var y=false;if(E.Dom._canPosition(x)){y=E.Region.getRegion(x);}else{}return y;};return E.Dom.batch(G,Y,E.Dom,true);},getClientWidth:function(){return E.Dom.getViewportWidth();},getClientHeight:function(){return E.Dom.getViewportHeight();},getElementsByClassName:function(AB,AF,AC,AE,x,AD){AB=L.trim(AB);AF=AF||"*";AC=(AC)?E.Dom.get(AC):null||K;if(!AC){return[];}var Y=[],G=AC.getElementsByTagName(AF),z=E.Dom.hasClass;for(Line truncated
|
||||||
|
},_replaceClass:function(y,x){var Y,AB,AA,G=false,z;if(y&&x){AB=x.from;AA=x.to;if(!AA){G=false;}else{if(!AB){G=E.Dom._addClass(y,x.to);}else{if(AB!==AA){z=E.Dom.getAttribute(y,F)||J;Y=(B+z.replace(E.Dom._getClassRegex(AB),B+AA)).split(E.Dom._getClassRegex(AA));Y.splice(1,0,B+AA);E.Dom.setAttribute(y,F,A(Y.join(J)));G=true;}}}}else{}return G;},generateId:function(G,x){x=x||"yui-gen";var Y=function(y){if(y&&y.id){return y.id;}var z=x+YAHOO.env._id_counter++;if(y){if(y[e].getElementById(z)){return E.Dom.generateId(y,z+x);}y.id=z;}return z;};return E.Dom.batch(G,Y,E.Dom,true)||Y.apply(E.Dom,arguments);},isAncestor:function(Y,x){Y=E.Dom.get(Y);x=E.Dom.get(x);var G=false;if((Y&&x)&&(Y[l]&&x[l])){if(Y.contains&&Y!==x){G=Y.contains(x);}else{if(Y.compareDocumentPosition){G=!!(Y.compareDocumentPosition(x)&16);}}}else{}return G;},inDocument:function(G,Y){return E.Dom._inDoc(E.Dom.get(G),Y);},_inDoc:function(Y,x){var G=false;if(Y&&Y[C]){x=x||Y[e];G=E.Dom.isAncestor(x[v],Y);}else{}return G;},getElementsBy:function(Y,AF,AB,AD,y,AC,AE){AF=AF||"*";AB=(AB)?E.Dom.get(AB):null||K;if(!AB){return[];}var x=[],G=AB.getElementsByTagName(AF);for(var z=0,AA=G.length;z<AA;++z){if(Y(G[z])){if(AE){x=G[z];break;}else{x[x.length]=G[z];}}}if(AD){E.Dom.batch(x,AD,y,AC);}return x;},getElementBy:function(x,G,Y){return E.Dom.getElementsBy(x,G,Y,null,null,null,true);},batch:function(x,AB,AA,z){var y=[],Y=(z)?AA:window;x=(x&&(x[C]||x.item))?x:E.Dom.get(x);if(x&&AB){if(x[C]||x.length===undefined){return AB.call(Y,x,AA);}for(var G=0;G<x.length;++G){y[y.length]=AB.call(Y,x[G],AA);}}else{return false;}return y;},getDocumentHeight:function(){var Y=(K[t]!=M||I)?K.body.scrollHeight:W.scrollHeight,G=Math.max(Y,E.Dom.getViewportHeight());return G;},getDocumentWidth:function(){var Y=(K[t]!=M||I)?K.body.scrollWidth:W.scrollWidth,G=Math.max(Y,E.Dom.getViewportWidth());return G;},getViewportHeight:function(){var G=self.innerHeight,Y=K[t];if((Y||T)&&!D){G=(Y==M)?W.clientHeight:K.body.clientHeight;}return G;},getViewportWidth:function(){var G=self.innerWidth,Y=K[t];if(Y||T){G=(Y==M)?W.clientWidth:K.body.clientWidth;}return G;},getAncestorBy:function(G,Y){while((G=G[Z])){if(E.Dom._testElement(G,Y)){return G;}}return null;},getAncestorByClassName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return E.Dom.hasClass(y,G);};return E.Dom.getAncestorBy(Y,x);},getAncestorByTagName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return y[C]&&y[C].toUpperCase()==G.toUpperCase();};return E.Dom.getAncestorBy(Y,x);},getPreviousSiblingBy:function(G,Y){while(G){G=G.previousSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getPreviousSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getPreviousSiblingBy(G);},getNextSiblingBy:function(G,Y){while(G){G=G.nextSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getNextSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getNextSiblingBy(G);},getFirstChildBy:function(G,x){var Y=(E.Dom._testElement(G.firstChild,x))?G.firstChild:null;return Y||E.Dom.getNextSiblingBy(G.firstChild,x);},getFirstChild:function(G,Y){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getFirstChildBy(G);},getLastChildBy:function(G,x){if(!G){return null;}var Y=(E.Dom._testElement(G.lastChild,x))?G.lastChild:null;return Y||E.Dom.getPreviousSiblingBy(G.lastChild,x);},getLastChild:function(G){G=E.Dom.get(G);return E.Dom.getLastChildBy(G);},getChildrenBy:function(Y,y){var x=E.Dom.getFirstChildBy(Y,y),G=x?[x]:[];E.Dom.getNextSiblingBy(x,function(z){if(!y||y(z)){G[G.length]=z;}return false;});return G;},getChildren:function(G){G=E.Dom.get(G);if(!G){}return E.Dom.getChildrenBy(G);},getDocumentScrollLeft:function(G){G=G||K;return Math.max(G[v].scrollLeft,G.body.scrollLeft);},getDocumentScrollTop:function(G){G=G||K;return Math.max(G[v].scrollTop,G.body.scrollTop);},insertBefore:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}return G[Z].insertBefore(Y,G);},insertAfter:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}if(G.nextSibling){return G[Z].insertBefore(Y,G.nextSibling);}else{return G[Z].appendChild(Y);}},getClientRegion:function(){var x=E.Dom.getDocumentScrollTop(),Y=E.Dom.getDocumentScrollLeft(),y=E.Dom.getViewportWidth()+Y,G=E.Dom.getViewportHeight()+x;return new E.Region(x,y,G,Y);},setAttribute:function(Y,G,x){G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;Y.setAttribute(G,x);},getAttribute:function(Y,G){G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;return Y.getAttribute(G);},_toCamel:function(Y){var x=d;function G(y,z){return z.toUpperCase();}return x[Y]||(x[Y]=Y.indexOf("-")===-1?Y:Y.replace(/-([a-z])/gi,G));},_getClassRegex:function(Y){var G;if(Y!==undefined){if(Y.exec){G=Y;}else{G=h[Y];if(!G){Y=Y.replace(E.Dom._patterns.CLASS_RE_TOKENS,"\\$1");G=h[Y]=new RegExp(s+Y+k,U);}}}return G;},_patterns:{ROOT_TAG:/^body|html$/i,CLASS_RE_TOKENS:/([\.\(\)\^\$\*\+\?\|\[\]\{\}])/g},_testElement:function(G,Y){return G&&G[l]==1&&(!Y||Y(G));},_calcBorders:fuLine truncated
|
||||||
|
}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top),D=Math.max(this.right,E.right),A=Math.max(this.bottom,E.bottom),B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D),C=F[1],E=F[0]+D.offsetWidth,A=F[1]+D.offsetHeight,B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}YAHOO.util.Point.superclass.constructor.call(this,B,A,B,A);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var B=YAHOO.util,A="clientTop",F="clientLeft",J="parentNode",K="right",W="hasLayout",I="px",U="opacity",L="auto",D="borderLeftWidth",G="borderTopWidth",P="borderRightWidth",V="borderBottomWidth",S="visible",Q="transparent",N="height",E="width",H="style",T="currentStyle",R=/^width|height$/,O=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,M={get:function(X,Z){var Y="",a=X[T][Z];if(Z===U){Y=B.Dom.getStyle(X,U);}else{if(!a||(a.indexOf&&a.indexOf(I)>-1)){Y=a;}else{if(B.Dom.IE_COMPUTED[Z]){Y=B.Dom.IE_COMPUTED[Z](X,Z);}else{if(O.test(a)){Y=B.Dom.IE.ComputedStyle.getPixel(X,Z);}else{Y=a;}}}}return Y;},getOffset:function(Z,e){var b=Z[T][e],X=e.charAt(0).toUpperCase()+e.substr(1),c="offset"+X,Y="pixel"+X,a="",d;if(b==L){d=Z[c];if(d===undefined){a=0;}a=d;if(R.test(e)){Z[H][e]=d;if(Z[c]>d){a=d-(Z[c]-d);}Z[H][e]=L;}}else{if(!Z[H][Y]&&!Z[H][e]){Z[H][e]=b;}a=Z[H][Y];}return a+I;},getBorderWidth:function(X,Z){var Y=null;if(!X[T][W]){X[H].zoom=1;}switch(Z){case G:Y=X[A];break;case V:Y=X.offsetHeight-X.clientHeight-X[A];break;case D:Y=X[F];break;case P:Y=X.offsetWidth-X.clientWidth-X[F];break;}return Y+I;},getPixel:function(Y,X){var a=null,b=Y[T][K],Z=Y[T][X];Y[H][K]=Z;a=Y[H].pixelRight;Y[H][K]=b;return a+I;},getMargin:function(Y,X){var Z;if(Y[T][X]==L){Z=0+I;}else{Z=B.Dom.IE.ComputedStyle.getPixel(Y,X);}return Z;},getVisibility:function(Y,X){var Z;while((Z=Y[T])&&Z[X]=="inherit"){Y=Y[J];}return(Z)?Z[X]:S;},getColor:function(Y,X){return B.Dom.Color.toRGB(Y[T][X])||Q;},getBorderColor:function(Y,X){var Z=Y[T],a=Z[X]||Z.color;return B.Dom.Color.toRGB(B.Dom.Color.toHex(a));}},C={};C.top=C.right=C.bottom=C.left=C[E]=C[N]=M.getOffset;C.color=M.getColor;C[G]=C[P]=C[V]=C[D]=M.getBorderWidth;C.marginTop=C.marginRight=C.marginBottom=C.marginLeft=M.getMargin;C.visibility=M.getVisibility;C.borderColor=C.borderTopColor=C.borderRightColor=C.borderBottomColor=C.borderLeftColor=M.getBorderColor;B.Dom.IE_COMPUTED=C;B.Dom.IE_ComputedStyle=M;})();(function(){var C="toString",A=parseInt,B=RegExp,D=YAHOO.util;D.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(E){if(!D.Dom.Color.re_RGB.test(E)){E=D.Dom.Color.toHex(E);}if(D.Dom.Color.re_hex.exec(E)){E="rgb("+[A(B.$1,16),A(B.$2,16),A(B.$3,16)].join(", ")+")";}return E;},toHex:function(H){H=D.Dom.Color.KEYWORDS[H]||H;if(D.Dom.Color.re_RGB.exec(H)){var G=(B.$1.length===1)?"0"+B.$1:Number(B.$1),F=(B.$2.length===1)?"0"+B.$2:Number(B.$2),E=(B.$3.length===1)?"0"+B.$3:Number(B.$3);H=[G[C](16),F[C](16),E[C](16)].join("");}if(H.length<6){H=H.replace(D.Dom.Color.re_hex3,"$1$1");}if(H!=="transparent"&&H.indexOf("#")<0){H="#"+H;}return H.toLowerCase();}};}());YAHOO.register("dom",YAHOO.util.Dom,{version:"2.7.0",build:"1796"});YAHOO.util.CustomEvent=function(D,C,B,A){this.type=D;this.scope=C||window;this.silent=B;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(A,B,C){if(!A){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(A,B,C);}this.subscribers.push(new YAHOO.util.Subscriber(A,B,C));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signaLine truncated
|
||||||
|
I.splice(S,1);return true;},getTarget:function(O,N){var M=O.target||O.srcElement;return this.resolveTextNode(M);},resolveTextNode:function(N){try{if(N&&3==N.nodeType){return N.parentNode;}}catch(M){}return N;},getPageX:function(N){var M=N.pageX;if(!M&&0!==M){M=N.clientX||0;if(this.isIE){M+=this._getScrollLeft();}}return M;},getPageY:function(M){var N=M.pageY;if(!N&&0!==N){N=M.clientY||0;if(this.isIE){N+=this._getScrollTop();}}return N;},getXY:function(M){return[this.getPageX(M),this.getPageY(M)];},getRelatedTarget:function(N){var M=N.relatedTarget;if(!M){if(N.type=="mouseout"){M=N.toElement;}else{if(N.type=="mouseover"){M=N.fromElement;}}}return this.resolveTextNode(M);},getTime:function(O){if(!O.time){var N=new Date().getTime();try{O.time=N;}catch(M){this.lastError=M;return N;}}return O.time;},stopEvent:function(M){this.stopPropagation(M);this.preventDefault(M);},stopPropagation:function(M){if(M.stopPropagation){M.stopPropagation();}else{M.cancelBubble=true;}},preventDefault:function(M){if(M.preventDefault){M.preventDefault();}else{M.returnValue=false;}},getEvent:function(O,M){var N=O||window.event;if(!N){var P=this.getEvent.caller;while(P){N=P.arguments[0];if(N&&Event==N.constructor){break;}P=P.caller;}}return N;},getCharCode:function(N){var M=N.keyCode||N.charCode||0;if(YAHOO.env.ua.webkit&&(M in D)){M=D[M];}return M;},_getCacheIndex:function(Q,R,P){for(var O=0,N=I.length;O<N;O=O+1){var M=I[O];if(M&&M[this.FN]==P&&M[this.EL]==Q&&M[this.TYPE]==R){return O;}}return -1;},generateId:function(M){var N=M.id;if(!N){N="yuievtautoid-"+A;++A;M.id=N;}return N;},_isValidCollection:function(N){try{return(N&&typeof N!=="string"&&N.length&&!N.tagName&&!N.alert&&typeof N[0]!=="undefined");}catch(M){return false;}},elCache:{},getEl:function(M){return(typeof M==="string")?document.getElementById(M):M;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(N){if(!H){H=true;var M=YAHOO.util.Event;M._ready();M._tryPreloadAttach();}},_ready:function(N){var M=YAHOO.util.Event;if(!M.DOMReady){M.DOMReady=true;M.DOMReadyEvent.fire();M._simpleRemove(document,"DOMContentLoaded",M._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;if(this._interval){clearInterval(this._interval);this._interval=null;}return;}if(this.locked){return;}if(this.isIE){if(!this.DOMReady){this.startInterval();return;}}this.locked=true;var S=!H;if(!S){S=(C>0&&F.length>0);}var R=[];var T=function(V,W){var U=V;if(W.overrideContext){if(W.overrideContext===true){U=W.obj;}else{U=W.overrideContext;}}W.fn.call(U,W.obj);};var N,M,Q,P,O=[];for(N=0,M=F.length;N<M;N=N+1){Q=F[N];if(Q){P=this.getEl(Q.id);if(P){if(Q.checkReady){if(H||P.nextSibling||!S){O.push(Q);F[N]=null;}}else{T(P,Q);F[N]=null;}}else{R.push(Q);}}}for(N=0,M=O.length;N<M;N=N+1){Q=O[N];T(this.getEl(Q.id),Q);}C--;if(S){for(N=F.length-1;N>-1;N--){Q=F[N];if(!Q||!Q.id){F.splice(N,1);}}this.startInterval();}else{if(this._interval){clearInterval(this._interval);this._interval=null;}}this.locked=false;},purgeElement:function(Q,R,T){var O=(YAHOO.lang.isString(Q))?this.getEl(Q):Q;var S=this.getListeners(O,T),P,M;if(S){for(P=S.length-1;P>-1;P--){var N=S[P];this.removeListener(O,N.type,N.fn);}}if(R&&O&&O.childNodes){for(P=0,M=O.childNodes.length;P<M;++P){this.purgeElement(O.childNodes[P],R,T);}}},getListeners:function(O,M){var R=[],N;if(!M){N=[I,J];}else{if(M==="unload"){N=[J];}else{N=[I];}}var T=(YAHOO.lang.isString(O))?this.getEl(O):O;for(var Q=0;Q<N.length;Q=Q+1){var V=N[Q];if(V){for(var S=0,U=V.length;S<U;++S){var P=V[S];if(P&&P[this.EL]===T&&(!M||M===P[this.TYPE])){R.push({type:P[this.TYPE],fn:P[this.FN],obj:P[this.OBJ],adjust:P[this.OVERRIDE],scope:P[this.ADJ_SCOPE],index:S});}}}}return(R.length)?R:null;},_unload:function(T){var N=YAHOO.util.Event,Q,P,O,S,R,U=J.slice(),M;for(Q=0,S=J.length;Q<S;++Q){O=U[Q];if(O){M=window;if(O[N.ADJ_SCOPE]){if(O[N.ADJ_SCOPE]===true){M=O[N.UNLOAD_OBJ];}else{M=O[N.ADJ_SCOPE];}}O[N.FN].call(M,N.getEvent(T,O[N.EL]),O[N.UNLOAD_OBJ]);U[Q]=null;}}O=null;M=null;J=null;if(I){for(P=I.length-1;P>-1;P--){O=I[P];if(O){N.removeListener(O[N.EL],O[N.TYPE],O[N.FN],P);}}O=null;}G=null;N._simpleRemove(window,"unload",N._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var M=document.documentElement,N=document.body;if(M&&(M.scrollTop||M.scrollLeft)){return[M.scrollTop,M.scrollLeft];}else{if(N){return[N.scrollTop,N.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(O,P,N,M){O.addEventListener(P,N,(M));};}else{if(window.attachEvent){return function(O,P,N,M){O.attachEvent("on"+P,N);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(O,P,N,M){O.removeEventListener(P,N,(M));};}else{if(window.detachEvent){return function(N,O,M){N.detachEvent("on"+O,M);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListLine truncated
|
||||||
|
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
|
||||||
|
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);
|
||||||
|
}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,overrideContext:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].overrideContext);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};(function(){var A=YAHOO.util.Event,C=YAHOO.lang;YAHOO.util.KeyListener=function(D,I,E,F){if(!D){}else{if(!I){}else{if(!E){}}}if(!F){F=YAHOO.util.KeyListener.KEYDOWN;}var G=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(C.isString(D)){D=document.getElementById(D);}if(C.isFunction(E)){G.subscribe(E);}else{G.subscribe(E.fn,E.scope,E.correctScope);}function H(O,N){if(!I.shift){I.shift=false;}if(!I.alt){I.alt=false;}if(!I.ctrl){I.ctrl=false;}if(O.shiftKey==I.shift&&O.altKey==I.alt&&O.ctrlKey==I.ctrl){var J,M=I.keys,L;if(YAHOO.lang.isArray(M)){for(var K=0;K<M.length;K++){J=M[K];L=A.getCharCode(O);if(J==L){G.fire(L,O);break;}}}else{L=A.getCharCode(O);if(M==L){G.fire(L,O);}}}}this.enable=function(){if(!this.enabled){A.on(D,F,H);this.enabledEvent.fire(I);}this.enabled=true;};this.disable=function(){if(this.enabled){A.removeListener(D,F,H);this.disabledEvent.fire(I);}this.enabled=false;};this.toString=function(){return"KeyListener ["+I.keys+"] "+D.tagName+(D.id?"["+D.id+"]":"");};};var B=YAHOO.util.KeyListener;B.KEYDOWN="keydown";B.KEYUP="keyup";B.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};})();YAHOO.register("event",YAHOO.util.Event,{version:"2.7.0",build:"1796"});YAHOO.register("yuiloader-dom-event", YAHOO, {version: "2.7.0", build: "1796"});
|
||||||
|
/*
|
||||||
|
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
|
||||||
|
Code licensed under the BSD License:
|
||||||
|
http://developer.yahoo.net/yui/license.txt
|
||||||
|
version: 2.7.0
|
||||||
|
*/
|
||||||
|
YAHOO.namespace("tool");YAHOO.tool.Profiler={_container:new Object(),_report:new Object(),_saveData:function(B,C){var A=this._report[B];A.calls++;A.points.push(C);if(A.calls>1){A.avg=((A.avg*(A.calls-1))+C)/A.calls;A.min=Math.min(A.min,C);A.max=Math.max(A.max,C);}else{A.avg=C;A.min=C;A.max=C;}},getAverage:function(A){return this._report[A].avg;},getCallCount:function(A){return this._report[A].calls;},getMax:function(A){return this._report[A].max;},getMin:function(A){return this._report[A].min;},getFunctionReport:function(A){return this._report[A];},getFullReport:function(C){C=C||function(){return true;};if(YAHOO.lang.isFunction(C)){var A={};for(var B in this._report){if(C(this._report[B])){A[B]=this._report[B];}}return A;}},registerConstructor:function(B,A){this.registerFunction(B,A,true);},registerFunction:function(name,owner,registerPrototype){var funcName=(name.indexOf(".")>-1?name.substring(name.lastIndexOf(".")+1):name);if(!YAHOO.lang.isObject(owner)){owner=eval(name.substring(0,name.lastIndexOf(".")));}var method=owner[funcName];var prototype=method.prototype;if(YAHOO.lang.isFunction(method)&&!method.__yuiProfiled){this._container[name]=method;owner[funcName]=function(){var start=new Date();var retval=method.apply(this,arguments);var stop=new Date();YAHOO.tool.Profiler._saveData(name,stop-start);return retval;};YAHOO.lang.augmentObject(owner[funcName],method);owner[funcName].__yuiProfiled=true;owner[funcName].prototype=prototype;this._container[name].__yuiOwner=owner;this._container[name].__yuiFuncName=funcName;if(registerPrototype){this.registerObject(name+".prototype",prototype);}this._report[name]={calls:0,max:0,min:0,avg:0,points:[]};}return method;},registerObject:function(name,object,recurse){object=(YAHOO.lang.isObject(object)?object:eval(name));this._container[name]=object;for(var prop in object){if(typeof object[prop]=="function"){if(prop!="constructor"&&prop!="superclass"){this.registerFunction(name+"."+prop,object);}}else{if(typeof object[prop]=="object"&&recurse){this.registerObject(name+"."+prop,object[prop],recurse);}}}},unregisterConstructor:function(A){if(YAHOO.lang.isFunction(this._container[A])){this.unregisterFunction(A,true);}},unregisterFunction:function(B,C){if(YAHOO.lang.isFunction(this._container[B])){if(C){this.unregisterObject(B+".prototype",this._container[B].prototype);}var A=this._container[B].__yuiOwner;var D=this._container[B].__yuiFuncName;delete this._container[B].__yuiOwner;delete this._container[B].__yuiFuncName;A[D]=this._container[B];delete this._container[B];delete this._report[B];}},unregisterObject:function(B,C){if(YAHOO.lang.isObject(this._container[B])){var A=this._container[B];for(var D in A){if(typeof A[D]=="function"){this.unregisterFunction(B+"."+D);}else{if(typeof A[D]=="object"&&C){this.unregisterObject(B+"."+D,C);}}}delete this._container[B];}}};YAHOO.register("profiler",YAHOO.tool.Profiler,{version:"2.7.0",build:"1796"});/*
|
||||||
|
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
|
||||||
|
Code licensed under the BSD License:
|
||||||
|
http://developer.yahoo.net/yui/license.txt
|
||||||
|
version: 2.7.0
|
||||||
|
*/
|
||||||
|
YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,setter:null,getter:null,validator:null,getValue:function(){var A=this.value;if(this.getter){A=this.getter.call(this.owner,this.name);}return A;},setValue:function(F,B){var E,A=this.owner,C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.setter){F=this.setter.call(A,F,this.name);if(F===undefined){}}if(this.method){this.method.call(A,F,this.name);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};if(C){this._written=false;}this._initialConfig=this._initialConfig||{};for(var A in B){if(B.hasOwnProperty(A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig,true);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B||!this._configs.hasOwnProperty(C)){return null;}return B.getValue();},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var C=[],B;for(B in this._configs){if(A.hasOwnProperty(this._configs,B)&&!A.isUndefined(this._configs[B])){C[C.length]=B;}}return C;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs||{};var F=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(F.hasOwnProperty(E[D])){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var B=YAHOO.util.Dom,C=YAHOO.util.AttributeProvider;var A=function(D,E){this.init.apply(this,arguments);};A.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true,"change":true};A.prototype={DOM_EVENTS:null,DEFAULT_HTML_SETTER:function(F,D){var E=this.get("element");if(E){E[D]=F;}},DEFAULT_HTML_GETTER:function(D){var E=this.get("element"),F;if(E){F=E[D];}return F;},appendChild:function(D){D=D.get?D.get("element"):D;return this.get("element").appendChild(D);},getElementsByTagName:function(D){return this.get("element").getElementsByTagName(D);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(D,E){D=D.get?D.get("element"):D;E=(E&&E.get)?E.get("element"):E;return this.get("element").insertBefore(D,E);},removeChild:function(D){D=D.get?D.get("element"):D;return this.get("element").removeChild(D);},replaceChild:function(D,E){D=D.get?D.get("element"):D;E=E.get?E.get("element"):E;return this.get("element").replaceChild(D,E);},initAttributes:function(D){},addListener:function(H,G,I,F){var E=this.get("element")||this.get("id");F=F||this;var D=this;if(!this._events[H]){if(E&&this.DOM_EVENTS[H]){YAHOO.util.Event.addListener(E,H,function(J){if(J.srcElement&&!J.target){J.target=J.srcElement;}D.fireEvent(H,J);},I,F);}this.Line truncated
|
||||||
|
F=(F&&F.get)?F.get("element"):B.get(F);var D=this.get("element");if(!D){return false;}if(!E){return false;}if(D.parent!=E){if(F){E.insertBefore(D,F);}else{E.appendChild(D);}}this.fireEvent("appendTo",{type:"appendTo",target:E});return D;},get:function(D){var F=this._configs||{},E=F.element;if(E&&!F[D]&&!YAHOO.lang.isUndefined(E.value[D])){this._setHTMLAttrConfig(D);}return C.prototype.get.call(this,D);},setAttributes:function(J,G){var E={},H=this._configOrder;for(var I=0,D=H.length;I<D;++I){if(J[H[I]]!==undefined){E[H[I]]=true;this.set(H[I],J[H[I]],G);}}for(var F in J){if(J.hasOwnProperty(F)&&!E[F]){this.set(F,J[F],G);}}},set:function(E,G,D){var F=this.get("element");if(!F){this._queue[this._queue.length]=["set",arguments];if(this._configs[E]){this._configs[E].value=G;}return;}if(!this._configs[E]&&!YAHOO.lang.isUndefined(F[E])){this._setHTMLAttrConfig(E);}return C.prototype.set.apply(this,arguments);},setAttributeConfig:function(D,E,F){this._configOrder.push(D);C.prototype.setAttributeConfig.apply(this,arguments);},createEvent:function(E,D){this._events[E]=true;return C.prototype.createEvent.apply(this,arguments);},init:function(E,D){this._initElement(E,D);},destroy:function(){var D=this.get("element");YAHOO.util.Event.purgeElement(D,true);this.unsubscribeAll();if(D&&D.parentNode){D.parentNode.removeChild(D);}this._queue=[];this._events={};this._configs={};this._configOrder=[];},_initElement:function(F,E){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];E=E||{};E.element=E.element||F||null;var H=false;var D=A.DOM_EVENTS;this.DOM_EVENTS=this.DOM_EVENTS||{};for(var G in D){if(D.hasOwnProperty(G)){this.DOM_EVENTS[G]=D[G];}}if(typeof E.element==="string"){this._setHTMLAttrConfig("id",{value:E.element});}if(B.get(E.element)){H=true;this._initHTMLElement(E);this._initContent(E);}YAHOO.util.Event.onAvailable(E.element,function(){if(!H){this._initHTMLElement(E);}this.fireEvent("available",{type:"available",target:B.get(E.element)});},this,true);YAHOO.util.Event.onContentReady(E.element,function(){if(!H){this._initContent(E);}this.fireEvent("contentReady",{type:"contentReady",target:B.get(E.element)});},this,true);},_initHTMLElement:function(D){this.setAttributeConfig("element",{value:B.get(D.element),readOnly:true});},_initContent:function(D){this.initAttributes(D);this.setAttributes(D,true);this.fireQueue();},_setHTMLAttrConfig:function(D,F){var E=this.get("element");F=F||{};F.name=D;F.setter=F.setter||this.DEFAULT_HTML_SETTER;F.getter=F.getter||this.DEFAULT_HTML_GETTER;F.value=F.value||E[D];this._configs[D]=new YAHOO.util.Attribute(F,this);}};YAHOO.augment(A,C);YAHOO.util.Element=A;})();YAHOO.register("element",YAHOO.util.Element,{version:"2.7.0",build:"1796"});/*
|
||||||
|
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
|
||||||
|
Code licensed under the BSD License:
|
||||||
|
http://developer.yahoo.net/yui/license.txt
|
||||||
|
version: 2.7.0
|
||||||
|
*/
|
||||||
|
(function(){YAHOO.widget.ProfilerViewer=function(H,G){G=G||{};if(arguments.length==1&&!YAHOO.lang.isString(H)&&!H.nodeName){G=H;H=G.element||null;}if(!H&&!G.element){H=this._createProfilerViewerElement();}YAHOO.widget.ProfilerViewer.superclass.constructor.call(this,H,G);this._init();};YAHOO.extend(YAHOO.widget.ProfilerViewer,YAHOO.util.Element);YAHOO.lang.augmentObject(YAHOO.widget.ProfilerViewer,{CLASS:"yui-pv",CLASS_DASHBOARD:"yui-pv-dashboard",CLASS_REFRESH:"yui-pv-refresh",CLASS_BUSY:"yui-pv-busy",CLASS_CHART_CONTAINER:"yui-pv-chartcontainer",CLASS_CHART:"yui-pv-chart",CLASS_CHART_LEGEND:"yui-pv-chartlegend",CLASS_TABLE:"yui-pv-table",STRINGS:{title:"YUI Profiler (beta)",buttons:{viewprofiler:"View Profiler Data",hideprofiler:"Hide Profiler Report",showchart:"Show Chart",hidechart:"Hide Chart",refreshdata:"Refresh Data"},colHeads:{fn:["Function/Method",null],calls:["Calls",40],avg:["Average",80],min:["Shortest",70],max:["Longest",70],total:["Total Time",70],pct:["Percent",70]},millisecondsAbbrev:"ms",initMessage:"initialiazing chart...",installFlashMessage:"Unable to load Flash content. The YUI Charts Control requires Flash Player 9.0.45 or higher. You can download the latest version of Flash Player from the <a href='http://www.adobe.com/go/getflashplayer'>Adobe Flash Player Download Center</a>."},timeAxisLabelFunction:function(H){var G=(H===Math.floor(H))?H:(Math.round(H*1000))/1000;return(G+" "+YAHOO.widget.ProfilerViewer.STRINGS.millisecondsAbbrev);},percentAxisLabelFunction:function(H){var G=(H===Math.floor(H))?H:(Math.round(H*100))/100;return(G+"%");}},true);var C=YAHOO.util.Dom;var A=YAHOO.util.Event;var B=YAHOO.tool.Profiler;var E=YAHOO.widget.ProfilerViewer;var D=E.prototype;D.refreshData=function(){this.fireEvent("dataRefreshEvent");};D.getHeadEl=function(){return(this._headEl)?C.get(this._headEl):false;};D.getBodyEl=function(){return(this._bodyEl)?C.get(this._bodyEl):false;};D.getChartEl=function(){return(this._chartEl)?C.get(this._chartEl):false;};D.getTableEl=function(){return(this._tableEl)?C.get(this._tableEl):false;};D.getDataTable=function(){return this._dataTable;};D.getChart=function(){return this._chart;};D._rendered=false;D._headEl=null;D._bodyEl=null;D._toggleVisibleEl=null;D._busyEl=null;D._busy=false;D._tableEl=null;D._dataTable=null;D._chartEl=null;D._chartLegendEl=null;D._chartElHeight=250;D._chart=null;D._chartInitialized=false;D._init=function(){this.createEvent("dataRefreshEvent");this.createEvent("renderEvent");this.on("dataRefreshEvent",this._refreshDataTable,this,true);this._initLauncherDOM();if(this.get("showChart")){this.on("sortedByChange",this._refreshChart);}};D._createProfilerViewerElement=function(){var G=document.createElement("div");document.body.insertBefore(G,document.body.firstChild);C.addClass(G,this.SKIN_CLASS);C.addClass(G,E.CLASS);return G;};D.toString=function(){return"ProfilerViewer "+(this.get("id")||this.get("tagName"));};D._toggleVisible=function(){var G=(this.get("visible"))?false:true;this.set("visible",G);};D._show=function(){if(!this._busy){this._setBusyState(true);if(!this._rendered){var G=new YAHOO.util.YUILoader();if(this.get("base")){G.base=this.get("base");}var H=["datatable"];if(this.get("showChart")){H.push("charts");}G.insert({require:H,onSuccess:function(){this._render();},scope:this});}else{var I=this.get("element");C.removeClass(I,"yui-pv-minimized");this._toggleVisibleEl.innerHTML=E.STRINGS.buttons.hideprofiler;C.addClass(I,"yui-pv-null");C.removeClass(I,"yui-pv-null");this.refreshData();}}};D._hide=function(){this._toggleVisibleEl.innerHTML=E.STRINGS.buttons.viewprofiler;C.addClass(this.get("element"),"yui-pv-minimized");};D._render=function(){C.removeClass(this.get("element"),"yui-pv-minimized");this._initViewerDOM();this._initDataTable();if(this.get("showChart")){this._initChartDOM();this._initChart();}this._rendered=true;this._toggleVisibleEl.innerHTML=E.STRINGS.buttons.hideprofiler;this.fireEvent("renderEvent");};D._initLauncherDOM=function(){var I=this.get("element");C.addClass(I,E.CLASS);C.addClass(I,"yui-pv-minimized");this._headEl=document.createElement("div");C.addClass(this._headEl,"hd");var H=E.STRINGS.buttons;var G=(this.get("visible"))?H.hideprofiler:H.viewprofiler;this._toggleVisibleEl=this._createButton(G,this._headEl);this._refreshEl=this._createButton(H.refreshdata,this._headEl);C.addClass(this._refreshEl,E.CLASS_REFRESH);this._busyEl=document.createElement("span");this._headEl.appendChild(this._busyEl);var J=document.createElement("h4");J.innerHTML=E.STRINGS.title;this._headEl.appendChild(J);I.appendChild(this._headEl);A.on(this._toggleVisibleEl,"click",this._toggleVisible,this,true);A.on(this._refreshEl,"click",function(){if(!this._busy){this._setBusyState(true);this.fireEvent("dataRefreshEvent");}},this,true);};D._initViewerDOM=function(){var G=this.get("element");this._bodyEl=document.createElement("div");C.addClass(this._bodyEl,"bd");this._tableEl=document.createElement("div");C.addClass(this._tableEl,E.CLASS_TABLine truncated
|
||||||
|
this._busy=true;}else{C.removeClass(this._busyEl,E.CLASS_BUSY);this._busy=false;}};D._genSortFunction=function(H,G){var J=H;var I=G;return function(L,K){if(I==YAHOO.widget.DataTable.CLASS_ASC){return L[J]-K[J];}else{return((L[J]-K[J])*-1);}};};var F=function(G){var I=0;for(var H=0;H<G.length;I+=G[H++]){}return I;};D._getProfilerData=function(){var L=B.getFullReport();var N=[];var H=0;for(name in L){if(YAHOO.lang.hasOwnProperty(L,name)){var G=L[name];var I={};I.fn=name;I.points=G.points.slice();I.calls=G.calls;I.min=G.min;I.max=G.max;I.avg=G.avg;I.total=F(I.points);I.points=G.points;var P=this.get("filter");if((!P)||(P(I))){N.push(I);H+=I.total;}}}for(var M=0,K=N.length;M<K;M++){N[M].pct=(H)?(N[M].total*100)/H:0;}var O=this.get("sortedBy");var Q=O.key;var J=O.dir;N.sort(this._genSortFunction(Q,J));return N;};D._initDataTable=function(){var P=this;this._dataSource=new YAHOO.util.DataSource(function(){return P._getProfilerData.call(P);},{responseType:YAHOO.util.DataSource.TYPE_JSARRAY,maxCacheEntries:0});var H=this._dataSource;H.responseSchema={fields:["fn","avg","calls","max","min","total","pct","points"]};var O=function(S,R,T,U){var Q=(U===Math.floor(U))?U:(Math.round(U*1000))/1000;S.innerHTML=Q+" "+E.STRINGS.millisecondsAbbrev;};var N=function(S,R,T,U){var Q=(U===Math.floor(U))?U:(Math.round(U*100))/100;S.innerHTML=Q+"%";};var M=YAHOO.widget.DataTable.CLASS_ASC;var J=YAHOO.widget.DataTable.CLASS_DESC;var K=E.STRINGS.colHeads;var I=O;var L=[{key:"fn",sortable:true,label:K.fn[0],sortOptions:{defaultDir:M},resizeable:(YAHOO.util.DragDrop)?true:false,minWidth:K.fn[1]},{key:"calls",sortable:true,label:K.calls[0],sortOptions:{defaultDir:J},width:K.calls[1]},{key:"avg",sortable:true,label:K.avg[0],sortOptions:{defaultDir:J},formatter:I,width:K.avg[1]},{key:"min",sortable:true,label:K.min[0],sortOptions:{defaultDir:M},formatter:I,width:K.min[1]},{key:"max",sortable:true,label:K.max[0],sortOptions:{defaultDir:J},formatter:I,width:K.max[1]},{key:"total",sortable:true,label:K.total[0],sortOptions:{defaultDir:J},formatter:I,width:K.total[1]},{key:"pct",sortable:true,label:K.pct[0],sortOptions:{defaultDir:J},formatter:N,width:K.pct[1]}];this._dataTable=new YAHOO.widget.DataTable(this._tableEl,L,H,{scrollable:true,height:this.get("tableHeight"),initialRequest:null,sortedBy:{key:"total",dir:YAHOO.widget.DataTable.CLASS_DESC}});var G=this._dataTable;G.subscribe("sortedByChange",this._sortedByChange,this,true);G.subscribe("renderEvent",this._dataTableRenderHandler,this,true);G.subscribe("initEvent",this._dataTableRenderHandler,this,true);A.on(this._tableEl.getElementsByTagName("th"),"click",this._thClickHandler,this,true);};D._sortedByChange=function(G){if(G.newValue&&G.newValue.key){this.set("sortedBy",{key:G.newValue.key,dir:G.newValue.dir});}};D._dataTableRenderHandler=function(G){this._setBusyState(false);};D._thClickHandler=function(G){this._setBusyState(true);};D._refreshDataTable=function(G){var H=this._dataTable;H.getDataSource().sendRequest("",H.onDataReturnInitializeTable,H);};D._refreshChart=function(){switch(this.get("sortedBy").key){case"fn":this._chart.set("dataSource",this._chart.get("dataSource"));return;case"calls":this._chart.set("xAxis",this._chartAxisDefinitionPlain);break;case"pct":this._chart.set("xAxis",this._chartAxisDefinitionPercent);break;default:this._chart.set("xAxis",this._chartAxisDefinitionTime);break;}this._drawChartLegend();this._chart.set("series",this._getSeriesDef(this.get("sortedBy").key));};D._getChartData=function(){var H=this._dataTable.getRecordSet().getRecords(0,this.get("maxChartFunctions"));var G=[];for(var J=0,I=H.length;J<I;J++){G.push(H[J].getData());}return G;};D._getSeriesDef=function(K){var J=this.get("chartSeriesDefinitions")[K];var G=[];for(var I=0,H=J.group.length;I<H;I++){var L=this.get("chartSeriesDefinitions")[J.group[I]];G.push({displayName:L.displayName,xField:L.xField,style:{color:L.style.color,size:L.style.size}});}return G;};D._initChart=function(){this._sizeChartCanvas();YAHOO.widget.Chart.SWFURL=this.get("swfUrl");var G=this;var H=new YAHOO.util.DataSource(function(){return G._getChartData.call(G);},{responseType:YAHOO.util.DataSource.TYPE_JSARRAY,maxCacheEntries:0});H.responseSchema={fields:["fn","avg","calls","max","min","total","pct"]};H.subscribe("responseEvent",this._sizeChartCanvas,this,true);this._chartAxisDefinitionTime=new YAHOO.widget.NumericAxis();this._chartAxisDefinitionTime.labelFunction="YAHOO.widget.ProfilerViewer.timeAxisLabelFunction";this._chartAxisDefinitionPercent=new YAHOO.widget.NumericAxis();this._chartAxisDefinitionPercent.labelFunction="YAHOO.widget.ProfilerViewer.percentAxisLabelFunction";this._chartAxisDefinitionPlain=new YAHOO.widget.NumericAxis();this._chart=new YAHOO.widget.BarChart(this._chartEl,H,{yField:"fn",series:this._getSeriesDef(this.get("sortedBy").key),style:this.get("chartStyle"),xAxis:this._chartAxisDefinitionTime});this._drawChartLegend();this._chartInitialized=true;this._dataTable.unsubscribe("initEvent",this._initCLine truncated
|
||||||
|
this.setAttributeConfig("filter",{value:G.filter||null,validator:YAHOO.lang.isFunction});this.setAttributeConfig("swfUrl",{value:G.swfUrl||"http://yui.yahooapis.com/2.5.0/build/charts/assets/charts.swf"});this.setAttributeConfig("maxChartFunctions",{value:G.maxChartFunctions||6,method:function(H){if(this._rendered){this._sizeChartCanvas();}},validator:YAHOO.lang.isNumber});this.setAttributeConfig("chartStyle",{value:G.chartStyle||{font:{name:"Arial",color:15658588,size:12},background:{color:"6e6e63"}},method:function(){if(this._rendered&&this.get("showChart")){this._refreshChart();}}});this.setAttributeConfig("chartSeriesDefinitions",{value:G.chartSeriesDefinitions||{total:{displayName:E.STRINGS.colHeads.total[0],xField:"total",style:{color:"4d95dd",size:20},group:["total"]},calls:{displayName:E.STRINGS.colHeads.calls[0],xField:"calls",style:{color:"edff9f",size:20},group:["calls"]},avg:{displayName:E.STRINGS.colHeads.avg[0],xField:"avg",style:{color:"209daf",size:9},group:["avg","min","max"]},min:{displayName:E.STRINGS.colHeads.min[0],xField:"min",style:{color:"b6ecf4",size:9},group:["avg","min","max"]},max:{displayName:E.STRINGS.colHeads.max[0],xField:"max",style:{color:"29c7de",size:9},group:["avg","min","max"]},pct:{displayName:E.STRINGS.colHeads.pct[0],xField:"pct",style:{color:"C96EDB",size:20},group:["pct"]}},method:function(){if(this._rendered&&this.get("showChart")){this._refreshChart();}}});this.setAttributeConfig("visible",{value:G.visible||false,validator:YAHOO.lang.isBoolean,method:function(H){if(H){this._show();}else{if(this._rendered){this._hide();}}}});this.setAttributeConfig("showChart",{value:G.showChart||true,validator:YAHOO.lang.isBoolean,writeOnce:true});YAHOO.widget.ProfilerViewer.superclass.initAttributes.call(this,G);};})();YAHOO.register("profilerviewer",YAHOO.widget.ProfilerViewer,{version:"2.7.0",build:"1796"});
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/* Author:
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
class Log {
|
||||||
|
|
||||||
|
protected $logfile;
|
||||||
|
|
||||||
|
function __construct($filename) {
|
||||||
|
$file = $filename;
|
||||||
|
$this->logfile = fopen($file, 'a+');
|
||||||
|
$this->message('Starting log');
|
||||||
|
}
|
||||||
|
|
||||||
|
function message($message) {
|
||||||
|
$message = '['. date("Y-m-d / H:i:s") . '] @MESSAGE'.' - '.$message;
|
||||||
|
$message .= "\n";
|
||||||
|
return fwrite( $this->logfile, $message );
|
||||||
|
}
|
||||||
|
|
||||||
|
function error($message) {
|
||||||
|
$message = '['. date("Y-m-d / H:i:s") . '] @ERROR'.' - '.$message;
|
||||||
|
$message .= "\n";
|
||||||
|
return fwrite( $this->logfile, $message );
|
||||||
|
}
|
||||||
|
|
||||||
|
function __destruct(){
|
||||||
|
$this->message("Finishing log\n-----------------------");
|
||||||
|
return fclose( $this->logfile );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+4118
File diff suppressed because it is too large.
Load diff
+125
@@ -0,0 +1,125 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en" class="no-js">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
|
||||||
|
<!-- www.phpied.com/conditional-comments-block-downloads/ -->
|
||||||
|
<!--[if IE]><![endif]-->
|
||||||
|
|
||||||
|
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
|
||||||
|
Remove this if you use the .htaccess -->
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
|
||||||
|
<title>Shikiryu - Read Later by Email Bookmarklet</title>
|
||||||
|
<meta name="description" content="This site will generate a bookmarklet sending an email with things to read later">
|
||||||
|
<meta name="author" content="Clément Desmidt - Shikiryu">
|
||||||
|
|
||||||
|
<!-- Mobile viewport optimized: j.mp/bplateviewport -->
|
||||||
|
<meta name="viewport" content="width=device-width; initial-scale=1.0">
|
||||||
|
|
||||||
|
<!-- Replace favicon.ico & apple-touch-icon.png in the root of your domain and delete these references -->
|
||||||
|
<link rel="shortcut icon" href="favicon.ico">
|
||||||
|
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
||||||
|
|
||||||
|
<!-- For the less-enabled mobile browsers like Opera Mini -->
|
||||||
|
<link rel="stylesheet" media="handheld" href="css/handheld.css?v=1">
|
||||||
|
|
||||||
|
<!-- CSS : blueprint Framework -->
|
||||||
|
<!-- <link rel="stylesheet" href="css/screen.css" type="text/css" media="screen, projection">
|
||||||
|
<link rel="stylesheet" href="css/print.css" type="text/css" media="print"> -->
|
||||||
|
<!--[if lt IE 8]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
|
||||||
|
|
||||||
|
<!-- Import fancy-type plugin for the sample page. -->
|
||||||
|
<link rel="stylesheet" href="css/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
|
||||||
|
|
||||||
|
<!-- Import silk sprites plugin -->
|
||||||
|
<link rel="stylesheet" href="css/plugins/sprites/sprites.css">
|
||||||
|
|
||||||
|
<!-- Import buttons plugin // add nice button instead of input button -->
|
||||||
|
<link rel="stylesheet" href="css/plugins/buttons/screen.css">
|
||||||
|
|
||||||
|
<!-- Import link-icons plugin // add icons depending of type of link / file -->
|
||||||
|
<link rel="stylesheet" href="css/plugins/link-icons/screen.css">
|
||||||
|
<?php /* <link href='http://fonts.googleapis.com/css?family=Droid+Serif&subset=latin' rel='stylesheet' type='text/css'> */ ?>
|
||||||
|
<!-- CSS : implied media="all" -->
|
||||||
|
<link rel="stylesheet" href="css/style.css?v=1">
|
||||||
|
<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
|
||||||
|
<script src="js/modernizr-1.5.min.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
|
||||||
|
|
||||||
|
<!--[if lt IE 7 ]> <body class="ie6"> <![endif]-->
|
||||||
|
<!--[if IE 7 ]> <body class="ie7"> <![endif]-->
|
||||||
|
<!--[if IE 8 ]> <body class="ie8"> <![endif]-->
|
||||||
|
<!--[if IE 9 ]> <body class="ie9"> <![endif]-->
|
||||||
|
<!--[if (gt IE 9)|!(IE)]><!--> <body> <!--<![endif]-->
|
||||||
|
|
||||||
|
<div id="container" class="container">
|
||||||
|
<header>
|
||||||
|
<a href="/"><img src="apple-touch-icon.png"/></a>
|
||||||
|
<h1>Welcome to the Read Later by Email Bookmarklet Generator</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div id="main">
|
||||||
|
<?=$include?>
|
||||||
|
<br/>
|
||||||
|
<div class="english">
|
||||||
|
<h2>What's a bookmarklet???</h2>
|
||||||
|
<div><p>A bookmarklet is a small javascript shortcut you can put in your bookmark toolbar and will <strong>improve your surfing expericence</strong></p></div>
|
||||||
|
<h2>What's the "Read Later by Email Bookmarklet"?</h2>
|
||||||
|
<div><p><strong>This bookmarklet, once clicked, will send you an e-mail with the title and the link of the current page you're viewing.</strong><br/>
|
||||||
|
In summary, it's a reminder, a time saver.</p>
|
||||||
|
</div>
|
||||||
|
<h2>How to use it?</h2>
|
||||||
|
<div><p>
|
||||||
|
To use it, put your email into the field up this text and generate your personal link. Once generated, drag and drop the link into your bookmark.<br/>
|
||||||
|
While you're on a page you want to read later, click it. A message should tell you if the mail is sent or if there was an error. In the first case, you can close the page! Easy.<br/>
|
||||||
|
In the second case, you should <a href="//shikiryu.com/contact/">email me</a> with the error you got. I'll answer you as soon as possible! I promise!</p></div>
|
||||||
|
<h2>Why should I use it?</h2>
|
||||||
|
<div><p>So many examples. For example, I use it for 3 things : <br/> 1. My own little <a href="//www.delicious.com/">delicious</a> in gmail.<br/> 2. To have access to a page I wanted to read at work but had no time for that atm.<br/> 3. To forward page I liked to my friends or family.<br/><br/> I'm sure there's more use to it ;)</p></div>
|
||||||
|
<h2>Is my privacy safe?</h2>
|
||||||
|
<div><p>Short answer : yes and... no. <strong>This service doesn't store or use your email directly!</strong> It just generate the bookmarklet dynamically with the given email. Anyway, there are checks to make sure no abuse is done with the service and you can <a href="//shikiryu.com/contact/">contact me</a> if you need your email to be blacklisted.<br/><br/>So, what's not safe? Any body who have access to your browser can have access to your email if they check the bookmarklet code. Therefor, don't use it in a cyber cafe for example. :)</p></div>
|
||||||
|
</div>
|
||||||
|
<hr/>
|
||||||
|
<div class="french">
|
||||||
|
<h2>Un bookmarklet ? C'est quoi ?</h2>
|
||||||
|
<div><p>Un bookmarklet est un petit bout de javascript qu'on peut placer dans sa barre de raccourci et permet d'<strong>améliorer le surf sur internet grâce à de petites améliorations</strong></p></div>
|
||||||
|
<h2>Et celui-ci, il fait quoi ?</h2>
|
||||||
|
<div><p><strong>Ce bookmarklet, une fois cliqué, envoie un email avec le titre et le lien de la page courante à l'adresse que vous lui indiquez préalablement.</strong><br/>
|
||||||
|
En résumé, c'est un pense-bête, il fait gagner du temps.</p>
|
||||||
|
</div>
|
||||||
|
<h2>Comment on l'utilise ?</h2>
|
||||||
|
<div><p>
|
||||||
|
Pour se faire, entrez votre email dans le champs ci-dessus et générer votre lien personnel. Une fois généré, glissez le dans votre barre de favoris.<br/>
|
||||||
|
Ceci réalisé, quand vous serez sur une page à lire plus tard ou à <i>favoriser</i>, cliquez-le. Un message devrait apparaître pour vous signaler si l'email est envoyé ou non. Dans le 1er cas, vous pouvez tout simplement fermer la page.<br/> Dans le 2nd cas, vous devriez <a href="//shikiryu.com/contact/">m'envoyer un email</a> en m'indiquant l'erreur occasionnée. Je vous répondrai le plus vite possible ! Promis !</p></div>
|
||||||
|
<h2>Pourquoi je devrais l'utiliser ?</h2>
|
||||||
|
<div><p>Tellement d'usages différents... Par exemple, je l'utilise pour 3 choses : <br/> 1. Mon propre petit <a href="//www.delicious.com/">delicious</a> dans gmail.<br/> 2. Pour avoir accès à la page que j'aimerai tant lire au travail mais qu'il me manque le temps (maudites réunions !).<br/> 3. Pour transférer une page que j'aime à des amis ou à la famille plus tard.<br/><br/> Mais je suis sûr qu'il y a d'autres emplois possibles ;)</p></div>
|
||||||
|
<h2>Mes données restent confidentielles ?</h2>
|
||||||
|
<div><p>Réponse rapide : oui... et non. <strong>Ce service n'enregistre pas votre adresse ! JAMAIS !</strong> Je déteste le spam. L'adresse est utilisée uniquement pour générer dynamiquement le bookmarklet unique pour celle-ci. Il y a parfois des vérifications pour la détection d'abus du service (spam sur une adresse, nombre d'utilisation abusive, etc.). Si vous êtes victime d'un abus, merci de <a href="//shikiryu.com/contact/">me contacter</a> afin que je mette votre email en liste noire.<br/><br/>Mais alors, pourquoi ce n'est pas confidentiel ? Simplement car toute personne ayant accès à votre navigateur web peut voir votre adresse email ou utiliser le bookmarklet frauduleusement. De ce fait, il est déconseillé de l'utiliser depuis un cyber café par exemple :)</p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<a href="//shikiryu.com/">Clément Desmidt - Shikiryu</a> - <a href="//shikiryu.com/contact/">Contact</a> <span id="en-lang" class="tips" title="English"></span> <span href="#" id="fr-lang" class="tips" title="Français"></span> <script src="//connect.facebook.net/fr_FR/all.js#xfbml=1"></script><fb:like href="//bookmarklet.shikiryu.com/" layout="button_count" show_faces="false" width="100" font="segoe ui"></fb:like> <!-- <script src="//static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script><a name="fb_share" type="button_count" share_url="//bookmarklet.shikiryu.com/"></a> -->
|
||||||
|
</footer>
|
||||||
|
</div> <!--! end of #container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Javascript at the bottom for fast page loading -->
|
||||||
|
|
||||||
|
<!-- Grab Google CDN jQuery. fall back to local if necessary -->
|
||||||
|
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
|
||||||
|
<script>!window.jQuery && document.write('<script src="js/jquery-1.4.2.min.js"><\/script>')</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="js/plugins.js?v=1"></script>
|
||||||
|
<script src="js/script.js?v=1"></script>
|
||||||
|
|
||||||
|
<!--[if lt IE 7 ]>
|
||||||
|
<script src="js/dd_belatedpng.js?v=1"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in new issue
Block a user