/* Copyright (c) Fotki Inc */

function Core() {
}
String.prototype.multi_split = function (patterns) {
var out = null;
for (var i=0; i<patterns.length; i++) {
if (!out || out == null) {
var t_pat = this.split(patterns[i]);
if (t_pat.length > 1) {
out = t_pat;
}} else {
for (var x=0; x<out.length; x++) {
var t_split = out[x].split(patterns[i]);
if (t_split.length > 1) {
out.splice(x,1);
out = out.concat(t_split);
}}
}}
return out;
}
Core.openPopupWindow = function Core_openPopupWindow (p_url, name, width, height) {
var specs = 'scrollbars=yes';
if(width != null && height != null) {
var left = ((screen.width - width)/2 > 0) ? (screen.width - width)/2 : 0;
var top = ((screen.height - height)/2 > 0) ? (screen.height - height)/2 : 0;
specs = specs + ',width=' + width + ',height=' + height + ',top=' + top + ',left=' + left;
}
window.open(p_url, name, specs);
}
Core.escape = function Core_escape(data) {
if (data != null && data != "" && data != 'undefined') {
data = encodeURIComponent(data);
return data;
} else {
return "";
}}
Core.unescape = function Core_unescape(data) {
if (data != null && data != "" && data != 'undefined') {
try {
data = decodeURIComponent(data);
return data;
} catch(e) {
try {
data = decodeURI(data);
Logger.log("incorrect bytecode in : " + data + " explain: " + e + "trying again ...");
return data;
} catch(e) {
Logger.log("fatal error");
return data;
}}
} else {
return "";
}}
Core.location = document.location + '';
Core.redirectAfterTimeout = function(targetURL, timeout) {
setTimeout('window.location="' + targetURL + '"', timeout);
}
Core.isStaging = function() {
return (Core.location.indexOf(".staging.") > -1) ? 1 : 0;
}
Core.isDev = function() {
return (Core.location.indexOf(".dev.") > -1) ? 1 : 0;
}
Core.isProduction = function() {
return (Core.location.indexOf(".dev.") == -1 && Core.location.indexOf(".staging.") == -1) ? 1 : 0;
}
Core.getPort= function Core_getPort() {
var port_pos = Core.location.indexOf(".com:");
if (port_pos>0) {
if ((Core.location.substr(port_pos + 5, 4)) == "80") {
return "";
} else {
return ":" + Core.location.substr(port_pos + 5, 4);
}} else {
return "";
}}
Core.getDomainPrefix= function Core_getDomainPrefix() {
if (Core.isDev()){
return "dev." ;
} else  if (Core.isStaging()) {
return "staging.";
} else {
return "";
}}
Core.localizeURL= function Core_localizeURL(href) {
var username = getCookie("username");
var dev_username =  getCookie("dev_username");
var port = Core.getPort();
var dom_prefix = Core.getDomainPrefix();
if (dom_prefix) {
href = href.replace(".fotki.com", "." + dom_prefix + "fotki.com");
}
if (port) {
href = href.replace(".fotki.com",".fotki.com" + port);
}
if (username != null && getCookie("s_id") != '' && !Core.isDev()) {
href = href.replace("##username##", username + "/");
} else if (dev_username != null && getCookie("dev_s_id") != '') {
href = href.replace("##username##", dev_username + "/");
} else {
href = href.replace("##username##", '');
}
return(href);
}
Core.isFunction = function Core_isFunction(f) {
if (f != null) {
var f = f + '';
return (f.indexOf("function") > -1);
}}
Core.windowOnload= function Core_windowOnload(f) {
var prev = window.onload;
window.onload = function() {
try {
if (prev) prev();
if (f) f();
} catch(e) {
Logger.log("error putting function to window.onload");
}}
}
Core.elementCache = new Array();
Core.dump= function Core_dump(obj) {
if (obj != null) {
Logger.log('dumping object: ' + obj + '---------------');
for (var i in obj) {
if (i > -1) {
Logger.log(i + ":" + obj[i]);
} else {
Logger.log(i + ':' + eval("obj." + i));
}}
Logger.log('---------------------------------------');
}}
Core.getElementWidth = function Core_getElementWidth(e) {
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
if(el != null) {
if (el.tagName == "TD" || el.tagName == "DIV") {
return el.clientWidth;
} else if (el.tagName == "IMG") {
return el.width;
} else {
return (el.offsetWidth ? el.offsetWidth : (el.clientWidth || el.width || el.style.width || 0));
}}
}}
Core.getElementHeight = function Core_getElementHeight(e) {
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
if(el != null) {
if (el.tagName == "TD" || el.tagName == "DIV") {
return el.clientHeight;
} else if (el.tagName == "IMG") {
return el.height;
} else {
return (el.offsetHeight ? el.offsetHeight : (el.clientHeight || el.height || el.style.height || 0));
}}
}}
Core.getSize = function Core_getSize(e) {
return Core.getElementSize(e);
}
Core.getElementSize = function Core_getElementSize(e) {
var ret = new Object();
ret.height = 0;
ret.width = 0;
if (e != null) {
var el = Core.getElementU(e);
if(el != null) {
if (el.tagName == "TD") {
ret.height = el.clientHeight;
ret.width = el.clientWidth;
} else if (el.tagName == "IMG") {
ret.height = el.height;
ret.width = el.width;
} else {
ret.height = el.offsetHeight ? el.offsetHeight : (el.clientHeight || el.height || el.style.height || 0);
ret.width = el.offsetWidth ? el.offsetWidth : (el.clientWidth || el.width || el.style.height || 0);
}}
}
return ret;
}
Core.setFocus = function(e) {
if (e != null) {
var el = Core.getElementU(e);
if(el != null) {
if (el.tagName == "INPUT" || el.tagName == "TEXTAREA") {
el.focus();
}}
}}
Core.flushElementCache = function() {
Core.elementCache = new Array();
}
Core.getElementRaw = function Core_getElementRaw(e) {
return Core.getElementU(e, 'no_cache');
}
Core.getElementU = function Core_getElementU(e, no_cache) {
if (e != null) {
if (typeof(e) == 'object') {
return e;
}
if (Core.elementCache[e] == null || no_cache) {
var el = (document.all) ? document.all[e] : document.getElementById(e);
Core.elementCache[e] = el;
return el;
} else {
var el = Core.elementCache[e];
return el;
}}
}
Core.getDocumentBody = function Core_getDocumentBody() {
return document.getElementsByTagName("body")[0];
}
Core.showElement = function Core_showElement(e) {
if (e != null) {
var el = Core.getElementU(e);
if (el != null) {
if (Core.detectBrowser().isIE && Core.detectBrowser().version == '6.0') {
try {Core.getElementU('bottomline').style.display = 'none';} catch (e) {}
try {Core.getElementU('bottomline').style.display = 'block';} catch (e) {}}
if (el.className.match('hide')) {
Core.replaceInClassName(e,'hide','');
el.style.display = '';
}
if (el.tagName == "DIV" || el.tagName == "P") {
el.style.display = 'block';
} else {
el.style.display = '';
}
el.style.visibility = 'visible';
}}
}
Core.hideElement = function Core_hideElement(e) {
if (e != null) {
var el = Core.getElementU(e);
if (el != null) {
if (el.className && el.className.match('hide')) {
Core.replaceInClassName(e,'hide','');
el.style.display = 'none';
}
el.style.display = "none";
} else {
Logger.log("hideElement doesn't support " + e + " type of objects yet");
}}
}
Core.showHideElement = function (e) {
if (e != null) {
var el = Core.getElementU(e);
if (el != null) {
if (el.className.match('hide')) {
el.style.display = 'none';
}
if (el.style.display == "none") {
Core.showElement(e);
} else {
Core.hideElement(e);
}}
}}
Core.isVisibleElement = function (e) {
if (e != null) {
var el = Core.getElementU(e);
if (el != null) {
if (el.className.match('hide')) {
el.style.display = 'none';
}
if (el.style.display == "none") {
return 0;
} else {
return 1;
}} else {
return 0;
}} else {
return 0;
}}
Core.removeElement = function (e) {
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
if (el != null) {
try {
el.parentNode.removeChild(el);
} catch (err) {
}}
}}
Core.setText = function (e, text) {
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
if (el != null && text != null) {
if (el.tagName == "INPUT" || el.tagName == "TEXTAREA" || el.tagName == "SELECT") {
el.value = text;
} else {
el.innerHTML = text;
}}
}}
Core.appendText = function (e, text) {
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
if (el != null && text != null) {
if (el.tagName == "INPUT" || el.tagName == "TEXTAREA" || el.tagName == "SELECT") {
el.value = el.value+text;
} else {
el.innerHTML = el.innerHTML+text;
}}
}}
Core.prependText = function (e, text) {
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
if (el != null && text != null) {
if (el.tagName == "INPUT" || el.tagName == "TEXTAREA" || el.tagName == "SELECT") {
el.value = text+el.value;
} else {
el.innerHTML = text+el.innerHTML;
}}
}}
Core.setRadioChecked = function(e) {
var el = Core.getElementU(e);
if (el != null) {
el.checked=true;
}}
Core.setRadioUnChecked = function(e) {
var el = Core.getElementU(e);
if (el != null) {
el.checked=false;
}}
Core.setSize = function (e, width, height) {
if (e != null) {
var el = Core.getElementU(e);
if (el != null) {
try {el.style.width = width + 'px';} catch (e) {}
try {el.style.height = height + 'px';} catch (e) {}}
}}
Core.getText= function Core_getText(e) {
if (e != null) {
var el = Core.getElementU(e);
var text = null;
if (el != null ) {
if(el.tagName == "DIV" || el.tagName == "P" || el.tagName == "SPAN" || el.tagName == "TR" || el.tagName == "DD" || el.tagName == "TD" || el.tagName == "UL" || el.tagName == "LI" || el.tagName == "EM" || el.tagName == "B" || el.tagName == "A") {
text = el.innerHTML;
} else if (el.tagName == "INPUT" || el.tagName == "TEXTAREA" || el.tagName == "SELECT") {
if(el.type == "radio" || el.type == "checkbox") {
if(el.checked) {
text = el.value;
} else {
text = '';
}} else {
text = el.value;
}}
return text;
}}
}
Core.setClassName = function(e, className) {
if (e != null && className != null) {
var text = null;
var el = (e == "object" ? e : Core.getElementU(e));
if (el != null ) {
el.className = className;
}}
}
Core.switchClassNames = function(e, from_className, to_className) {
if (e != null && from_className != null && to_className !=null) {
var el = Core.getElementU(e);
if (el != null && el.className == from_className) {
el.className = to_className;
} else if (el != null){
el.className = from_className;
}}
}
Core.getClassName = function(e) {
if (e != null) {
var el = Core.getElementU(e);
if (el != null ) {
return el.className || '';
}}
}
Core.addToClassName = function(e, className) {
if (e != null && className != null) {
Core.setClassName(e, Core.getClassName(e)+ ' ' + className);
}}
Core.replaceInClassName = function(e, replace_what, replace_to) {
if (e != null && replace_what != null && replace_to != null) {
var el = Core.getElementU(e);
if (el != null && el.className != null) {
el.className = el.className.replace(replace_what, replace_to);
}}
}
Core.clearTail = function Core_clearTail(e, numberOfLinesToLeave) {
var all_lines = Core.getText(e);
if (all_lines != null) {
var lines = all_lines.split("<br>");
if (lines.length > numberOfLinesToLeave) {
lines = lines.slice(0, numberOfLinesToLeave);
}
Core.setText(e, lines.join("<br>"));
}}
Core.appendText= function Core_appendText(e, text) {
Core.setText(e, Core.getText(e) + text);
}
Core.appendTextToTop= function Core_appendTextToTop(e, text) {
Core.setText(e, text + Core.getText(e));
}
Core.parseInt = function(s) {
if (s != null && s != "") {
return s.replace(/[^\d]/g, "");
}}
Core.round = function Core_round(value, precision) {
if (precision == undefined){
precision = 0;
}
precision = Math.pow(10, precision);
return Math.round(value*precision)/precision;
}
Core.formatMoney = function formatMoney(value) {
value = Core.round(value, 2);
var v = value * 100;
var return_string = value;
if (v % 100 == 0) return_string += '.00';
else if (v % 10 == 0) return_string += '0';
return return_string;
}
Core.addEvent = null;
if (document.addEventListener) {
Core.addEvent = function Core_addEventA(elOn, strEventType, ptrFunction) {
elOn.addEventListener(strEventType, ptrFunction, false);
};
} else if (document.attachEvent) {
Core.addEvent = function Core_addEventB(elOn, strEventType, ptrFunction) {
elOn.attachEvent('on' + strEventType, ptrFunction);
};
} else {
Logger.log('unable to attach event corresponding to W3C or MS model');
Core.addEvent = function Core_addEventC(elOn, strEventType, ptrFunction) {
if (Core.isFunction(elOn['on' + strEventType])) {
elOn['on' + strEventType] =
function() {
this['on' + strEventType]();  //TODO: check if possible to change elOn to this!
ptrFunction();
};
} else {
elOn['on' + strEventType] = ptrFunction;
}}
}
Core.addSystemEvent = function Core_addSystemEvent(strEventType, ptrFunction) {
return Core.addEvent( (document.documentElement ? document.documentElement : window), strEventType, ptrFunction)
}
Core.removeEvent = function Core_removeEvent(elOn, strEventType, ptrFunction) {
if (elOn.removeEventListener) {
elOn.removeEventListener(strEventType, ptrFunction, false);
} else if (elOn.detachEvent) {
elOn.detachEvent('on' + strEventType, ptrFunction);
} else {
elOn['on' + strEventType] = null;
}}
Core.removeSystemEvent = function Core_removeSystemEvent(strEventType, ptrFunction) {
return Core.removeEvent( (document.documentElement ? document.documentElement : window), strEventType, ptrFunction)
}
Core.getPageScrollTop = function Core_getPageScrollTop() {
var scroll = -1;
if (document.documentElement && document.documentElement.scrollTop !=null && !Core.detectBrowser().isSafari) {
scroll = document.documentElement.scrollTop;
} else if (document.body ) {
scroll = document.body.scrollTop;
} else if (self.pageYOffset) {
scroll = self.pageYOffset;
}
return scroll;
}
Core.getPageScrollLeft = function Core_getPageScrollLeft() {
var scroll = -1;
if (document.documentElement && document.documentElement.scrollLeft !=null && !Core.detectBrowser().isSafari) {
scroll = document.documentElement.scrollLeft;
} else if (document.body ) {
scroll = document.body.scrollLeft;
} else if (self.pageXOffset) {
scroll = self.pageXOffset;
}
return scroll;
}
Core.getBrowserVisibleArea = function Core_getBrowserVisibleArea() {
var ret = new Object();
if (self.innerHeight) {//!Explorer
ret.width = self.innerWidth;
ret.height = self.innerHeight;
ret.outerWidth = self.outerWidth;
ret.outerHeight = self.outerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) {
ret.width  = document.documentElement.clientWidth;
ret.height = document.documentElement.clientHeight;
ret.outerWidth = document.documentElement.outerWidth;
ret.outerHeight = document.documentElement.outerHeight;
} else if (document.body) {// other Explorers
ret.width = document.body.clientWidth;
ret.height = document.body.clientHeight;
ret.outerWidth = document.body.outerWidth;
ret.outerHeight = document.body.outerHeight;
} else {
ret.width = 0; ret.height = 0;
ret.outerWidth = 0; ret.outerHeight = 0;
}
//document.title = self.outerHeight + ' - ' + document.documentElement.outerHeight + ' - ' + document.body.outerHeight;
var def_toolbar_height = 100;
if (!ret.outerHeight) {
ret.outerHeight = ret.height + def_toolbar_height;
ret.outerWidth = ret.width;
}
ret.toolbarHeight = ret.outerHeight - ret.height;
return ret;
}
Core.getPageDimensions = function Core_getPageDimensions() {
var ret = new Object();
ret.width = 0; ret.height = 0;
var test1 = document.body.scrollHeight;
var test2 = document.body.offsetHeight
if (test1 > test2) { // all but Explorer Mac
ret.width = document.body.scrollWidth;
ret.height = document.body.scrollHeight;
} else { // Explorer Mac;
ret.width = document.body.offsetWidth;
ret.height = document.body.offsetHeight;
}
return ret;
}
Core.getScreenDimensions = function Core_getScreenDimensions() {
var ret = new Object();
ret.width = self.screen.width || 0;
ret.height = self.screen.height || 0;
return ret;
}
Core.getElementPos = function Core_getElementPos(e) {
var currentLeft = 0;
var currentTop  = 0;
if (e != null) {
var el = (typeof(e) == 'object') ? e : Core.getElementU(e);
if (el != null && el.offsetParent) {
currentLeft = el.offsetLeft;
currentTop = el.offsetTop;
while (el = el.offsetParent) {
currentLeft += el.offsetLeft;
currentTop  += el.offsetTop;
}} else {
return null;
}}
var ret = new Object();
ret.currentLeft = currentLeft;
ret.x = currentLeft;
ret.currentTop = currentTop;
ret.y = currentTop;
return ret;
}
Core.inArray = function Core_inArray(array_haystack, search_needle) {
var i = array_haystack.length;
if (i > 0) {
do {
if (array_haystack[i] === search_needle) {
return true;
}} while (i--);
}
return false;
}
Core.openWindow = function Core_openWindow(a,b,c) {
if(a == null) { return};
var popupWin;
if (typeof(a) == 'object') {
if (a.url == null ) { return;}
a.winname	  = a.winname || "";
a.scrollbars  = a.scrollbars || "yes";
a.resizable	= a.resizable || "yes";
a.width		 = a.width || "400";
a.height		= a.height || "500";
a.raised		= a.raised || "yes"; // always raised
a.dependent	= a.dependent || "yes";
a.zlock		 = a.zlock || "yes";
popupWin = window.open(a.url,a.winname,'scrollbars=' + a.scrollbars + ', resizable = ' + a.resizable + ', width = ' + a.width + ', height = ' + a.height + ', alwaysRaised = ' + a.raised + ', dependent = ' + a.dependent + ', z-lock = ' + a.zlock);
if (a.moveHor && a.moveVert) {
popupWin.moveTo(a.moveHor, a.moveVert);
}} else if (typeof(a) == 'string'){
if (b == null) { b = "";};
popupWin = window.open(a, b, 'scrollbars=yes,resizable=yes, width=400,height=500 alwaysRaised=yes,dependent=yes,z-lock=yes');
}
popupWin.focus();
return false;
}
Core.mrdescape = function(str) {
data = new String(str);
data2 = new String;
var prev;
var empty=true;
for (var i=0;i<data.length;i++) {
s = str.charCodeAt(i);
if (s==32||s==95||s==45) {
if (prev==s) {
} else if ((prev != 32)&& !empty)
data2+=String.fromCharCode(95);
} else if ( ((s>47)&&(s<58))||(s==45)||((s>64)&&(s<91))||((s>94)&&(s<123))||(s==126)||(s==8)||(s==0)) {
data2+=String.fromCharCode(s);
empty=false;
}
prev=s;
}
data=data2.toLowerCase();
if ((data.length>2)&&(data.charCodeAt(data.length-1)==95))
data=new String(data.substr(0,data.length-1));
if (empty) {
data = new String(str);
c=new Number;
for (var i=0;i<data.length;i++) {
c+=(523*data.charCodeAt(i));
c = c % 3200000;
}
data=c.toString(20);
}
return data.toString();
}
function CheckSymbols(str) {
for (var i=0;i<str.length;i++) {
s = str.charCodeAt(i);
if (!( ((s>47)&&(s<58))||(s==45)||((s>64)&&(s<91))||((s>94)&&(s<123))||(s==33)||(s==126)||(s==8)||(s==0)))
return false;
}
return true;
}
Core.validateEmail = function Core_validateEmail(email) {
if (/^[^@\s]+@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,4}$/.test(email)) {
return true;
} else {
return false;
}}
Core.getArrayUnique = function Core_getArrayUnique(array) {
var hash_from_array = new Array();
var array_from_hash = new Array();
if (typeof(array) == 'object') {
for (a in array) {
hash_from_array[array[a]] = 1;
}
for (b in hash_from_array) {
array_from_hash.push(b);
}
return array_from_hash;
}
return false;
}
Core.chooseLang = function Core_chooseLang(lang) {
var expdate = new Date();
fixDate(expdate);
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000)*365);
setCookie('lang', lang, expdate, '/', '.fotki.com');
if (Core.location.indexOf("http://www.dev.fotki.com") != -1 || Core.location.indexOf("http://www.fotki.com") != -1 || Core.location.indexOf("http://www.staging.fotki.com") != -1) {
location.href='http://' +  location.host + '/';
} else {
window.location.reload();
}}
Core.chooseRegion = function Core_chooseRegion(region, redirect_url) {
var expdate = new Date();
fixDate(expdate);
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000)*365);
setCookie('regional_settings', region, expdate, '/', '.fotki.com');
location.href=redirect_url;
}
Core.getResponseError = function Core_get_ajax_error (obj) {
if(obj.responseText != null && obj.responseText.indexOf('error|') > -1){
return obj.responseText.substr(6);
} else {
Logger.log(obj.responseText);
return '';
}}
var fotki_hostname = location.hostname.match(/fotki\.com$/) ? "fotki.com" : location.hostname;
// value - value of the cookie
// [path] - path for which the cookie is valid (defaults to path of calling document)
// [secure] - Boolean value indicating if the cookie transmission requires a secure transmission
// * a null placeholder is not required for trailing omitted arguments
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
document.cookie = curCookie;
}
// * return string containing value of specified cookie or null if cookie does not exist
function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else
begin += 2;
var end = document.cookie.indexOf(";", begin);
if (end == -1)
end = dc.length;
return unescape(dc.substring(begin + prefix.length, end));
}
// [path] - path of the cookie (must be same as path used to create cookie)
// * path and domain default if assigned null or omitted if no explicit argument proceeds
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}}
// * hand all instances of the Date object to this function for "repairs"
function fixDate(date) {
var base = new Date(0);
var skew = base.getTime();
if (skew > 0)
date.setTime(date.getTime() - skew);
}
// cookies.js ends
function LangDict () {
}
LangDict.translateToken = function translateToken(token) {
if(LangDict.dict[token] == null){
return token;
}
if(LangDict.dict[token]['translated'] == null) {
if(LangDict.dict[token]['en'] == null) {
return token;
} else {
return  LangDict.dict[token]['en'];
}} else {
return  LangDict.dict[token]['translated'];
}}
function switch_tab_splitter() {
var top_part = Core.getElementU('top_part');
if (top_part.style.display == "none") {
Core.showElement('top_part');
Core.setClassName('line', 'one');
Core.hideElement('top_part_title_alone');
setCookie('hide_top_part', 0, "", "/", "." + fotki_hostname);
} else {
Core.hideElement('top_part');
Core.setClassName('line', 'two');
Core.showElement('top_part_title_alone');
setCookie('hide_top_part', 1, "", "/", "." + fotki_hostname);
}}
function switch_splitter(cookie_name) {
if (Core.getClassName('dtree') == 'hide') {
Core.setClassName('dtree', '');
Core.showElement('tree');
setCookie(cookie_name, 0, "", "/", "." +fotki_hostname);
Core.setClassName('itsplitter', 'two');
} else {
Core.setClassName('dtree','hide');
Core.hideElement('tree');
setCookie(cookie_name, 1, "", "/", "." +fotki_hostname);
Core.setClassName('itsplitter', 'one');
}}
Core.photoURLChecker = function Core_photoURLChecker() {
var location = document.location.href;
var url_to_send = null;
if (location.indexOf('#') > -1) {
var parts = location.match(/(.*)\/(.*)\.html#(.*)/);
if (parts != null) {
Core.getPhoto(parts[3]);
}}
}
Core.Template = function Core_Template (text) {
if(!text) return;
this.tpl_cont = text;
this.getContent = function() {
return this.tpl_cont;
}
this.replaceContentHash = function (obj, text) {
for (var i in obj) {
if (i.indexOf('if_') == -1) {
if (text) {
while (text.indexOf("##" + i + "##") > -1) {
var pos = text.indexOf("##" + i + "##");
var i_length = i.length + 4;
if (pos > -1) {
var first_part = text.substr(0, pos);
var second_part = text.substr(pos + i_length);
text = first_part + obj[i] + second_part;
}}
} else {
while (this.tpl_cont.indexOf("##" + i + "##") > -1) {
var pos = this.tpl_cont.indexOf("##" + i + "##");
var i_length = i.length + 4;
if (pos > -1) {
var first_part = this.tpl_cont.substr(0, pos);
var second_part = this.tpl_cont.substr(pos + i_length);
this.tpl_cont = first_part + obj[i] + second_part;
}}
}} else {
f = i.split("_")[1];
var cont = text ? text : this.tpl_cont;
var cnt=0;
while (cont.indexOf("##if " + f + "##") > -1) {
var if_start = cont.indexOf("##if " + f + "##");
var if_end = cont.indexOf("##endif " + f + "##");
if (if_start > -1 && if_end > -1) {
var first_part = cont.substr(0, if_start);
var second_part = cont.substr((if_end+7) + f.length + 3);
var if_text = cont.substring(if_start + 7 + f.length, if_end);
if (if_text) {
cont = first_part + ((obj[i] > 0) ? if_text : "") + second_part;
if (text) {
text = cont;
} else {
this.tpl_cont = cont;
}} else {
cont = first_part + second_part;
if (text) {
text = cont;
} else {
this.tpl_cont = cont;
}}
} else {
break;
}}
}}
if (text) return text;
}
this.replaceLoopContent = function (marker, array) {
while (this.tpl_cont.indexOf("@@" + marker + "@@") > -1)  {
var loop_start = this.tpl_cont.indexOf("@@" + marker + "@@");
var loop_end = this.tpl_cont.indexOf("@@" + marker + "@@", (loop_start + marker.length +4));
var first_part = this.tpl_cont.substring(0, loop_start);
var second_part = this.tpl_cont.substring(loop_end + marker.length + 4);
var inside_marker = this.tpl_cont.substring((loop_start+marker.length+4), loop_end);
var out = "";
if (inside_marker) {
for (var i in array) {
out += this.replaceContentHash(array[i], inside_marker);
}}
this.tpl_cont = first_part + out + second_part;
}}
}
Core.setBg = function(element, bg) {
if (typeof(element) != "object") {
element = Core.getElementU(element);
}
element.style.background=bg;
}
Core.getBrowserVersion = function Core_getBrowserVersion (version) { // 'version'/'v'/''
var navigatorInfo = new Object();
navigatorInfo.browser = '';	// string: 'firefox', 'ie', 'opera', 'safari'
navigatorInfo.version = '';	// browser version
if(navigator.userAgent.indexOf("Firefox")>-1)	{
navigatorInfo.browser = "firefox";
if(version == 'v' || version == 'version') {
navigatorInfo.version = navigator.userAgent.substring(navigator.userAgent.indexOf("rv:")+3, navigator.userAgent.indexOf(")"));
}} else if((navigator.userAgent.indexOf("MSIE")>-1) || (navigator.appAgent.indexOf("Microsoft")>-1)) {
navigatorInfo.browser = "ie";
if(version == 'v' || version == 'version') {
navigatorInfo.version = navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE ")+5, navigator.userAgent.indexOf("; Windows"));
}} else if(navigator.userAgent.indexOf("Opera")>-1) {
navigatorInfo.browser = "opera";
if(version == 'v' || version == 'version') {
navigatorInfo.version = navigator.userAgent.substring(navigator.userAgent.indexOf("/")+1, navigator.userAgent.indexOf(" ("));
}} else if(navigator.userAgent.indexOf("Safari")>-1){
navigatorInfo.browser = "safari";
if(version == 'v' || version == 'version') {
navigatorInfo.version = navigator.userAgent.substring(navigator.userAgent.lastIndexOf("/")+1);
}} else {
navigatorInfo.browser = navigator.appName;
if(version == 'v' || version == 'version') {
navigatorInfo.version = navigator.appVersion;
}}
if (navigator.platform.indexOf("Linux")>-1) {
navigatorInfo.platform = "linux";
} else if (navigator.platform.indexOf("MacIntel")>-1) {
navigatorInfo.platform = "mac";
} else {
navigatorInfo.platform = "windows";
}
return navigatorInfo;
}
//returns browser .version and returns boolean vars:
// if (Core.detectBrowser().isIE || Core.detectBrowser().browser == 'opera') alert();
Core.detectBrowser = function Core_detectBrowser() {
if (this.browser == null) {
this.browser = new Object();
this.browser.browser = '';
this.browser.version = '';
} else {
return this.browser;
}
var ua = navigator.userAgent.toLowerCase();
if (this.browser.isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)) ? 1:0 ) {
this.browser.browser = "ie";
this.browser.version = ua.substring(ua.indexOf("msie ")+5, ua.indexOf("; windows"));
}
if (this.browser.isOpera = (ua.indexOf("opera") != -1 || window.opera) ? 1:0 ) {
this.browser.browser = "opera";
this.browser.version = ua.substring(ua.indexOf("/")+1, ua.indexOf(" ("));
}
if (this.browser.isMozilla = (ua.indexOf("gecko") != -1 && ua.indexOf("safari") == -1 && ua.indexOf("firefox") == -1) ? 1:0 ) {
this.browser.browser = "mozilla";
this.browser.version = navigator.appVersion;//?
}
if (this.browser.isFireFox = (ua.indexOf("firefox") != -1) ? 1:0 ) {
this.browser.browser = "firefox";
this.browser.version = ua.substring(ua.indexOf("rv:")+3, ua.indexOf(")"));
}
if (this.browser.isSafari = (ua.indexOf("gecko") == -1 && ua.indexOf("safari") != -1 ||
navigator.vendor && navigator.vendor.toLowerCase().indexOf("apple") != -1) ? 1:0 ) {
this.browser.browser = "safari";
this.browser.version = ua.substring(ua.lastIndexOf("/")+1);
}
if (this.browser.isMaxthon = ((ua.indexOf("msie") != -1) && (ua.indexOf("maxthon") != -1)) ? 1:0 ) {
this.browser.browser = "maxthon";
this.browser.version = navigator.appVersion;//?
}
if (navigator.platform.indexOf("Linux")>-1) {
this.browser.platform = "linux";
} else if (navigator.platform.indexOf("MacIntel")>-1) {
this.browser.platform = "mac";
} else {
this.browser.platform = "windows";
}
return this.browser;
};
function Photo() {
}
var original_photo_width = null;
var photo_resize_still_running = false;
var navigation_resize_still_running = false;
var critial_red_line_size = 6;
var resizing_step = 3;
var minimum_photo_size = 120;
var photo_id = 'stretch_photo_id';
var meter_id = 'red_line';
Photo.resizingPhoto = function() {
if (original_photo_width == null) { return;}
Core.hideElement('google_ad_small');
var prop = Core.getElementHeight(photo_id) / Core.getElementWidth(photo_id);
var line_width = Core.getElementWidth(meter_id);
if (line_width != null && (line_width < critial_red_line_size)) {
for (i=0; i<(680/resizing_step);i++) {
var red_line_width		= Core.getElementWidth(meter_id);
var current_photo_width = Core.getElementWidth(photo_id);
if (current_photo_width == 0) {
break;
}
if ((red_line_width < critial_red_line_size) && (current_photo_width > (minimum_photo_size) ) ) {
Core.setSize(photo_id, current_photo_width - resizing_step);
} else {
break;
}}
} else {
var photo_width = Core.getElementWidth(photo_id);
if (photo_width < original_photo_width) {
var new_width = (line_width - critial_red_line_size) + photo_width;
if (new_width > original_photo_width) {
new_width = original_photo_width;
}
Core.setSize(photo_id, new_width);
}}
photo_resize_still_running = false;
Core.showElement('google_ad_small');
}
Photo.resizingInit = function() {
Core.addEvent(window, 'resize', function () {
if (!photo_resize_still_running) {
photo_resize_still_running = true;
setTimeout('Photo.resizingPhoto();',100);
}}
);
Core.addEvent(window, 'load', Photo.resizingPhoto );
}
Photo.cacheImg = function(url) {
var cache_img = new Image();
cache_img.src = url;
}
if (!window['Node']) {
window.Node = new Object();
Node.ELEMENT_NODE = 1;
Node.ATTRIBUTE_NODE = 2;
Node.TEXT_NODE = 3;
Node.CDATA_SECTION_NODE = 4;
Node.ENTITY_REFERENCE_NODE = 5;
Node.ENTITY_NODE = 6;
Node.PROCESSING_INSTRUCTION_NODE = 7;
Node.COMMENT_NODE = 8;
Node.DOCUMENT_NODE = 9;
Node.DOCUMENT_TYPE_NODE = 10;
Node.DOCUMENT_FRAGMENT_NODE = 11;
Node.NOTATION_NODE = 12;
}
// Returns array with page width, height and window width, height
Core.getPageSize = function Core_getPageSize () {
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight && (document.body.scrollHeight > document.body.offsetHeight)) { // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth = Core.getBrowserVisibleArea().width;
var windowHeight = Core.getBrowserVisibleArea().height
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
if(xScroll < windowWidth){
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);
return arrayPageSize;
}
// Required parameter:
//		timePerFrame - delay per frame
// Optional:
//		finishFunc - final function (one shot run after animeFunc)
Core.animation = function Core_animation (numFrames, timePerFrame, animeFunc, startFunc, finishFunc) {
var frame = 0;
if (numFrames && timePerFrame && animeFunc) {
var anime = new Object ();
anime.intervalID = 0;
anime.animeFunc = animeFunc;
anime.startFunc = (startFunc ? startFunc : null);
anime.finishFunc = (finishFunc ? finishFunc : null);
} else {
return null;
}
anime.start = function () {
if (anime.startFunc) anime.startFunc();
anime.intervalID = setInterval(displayFrame, timePerFrame);
} // anime.start
anime.stop = function () {
clearInterval(anime.intervalID);
} // anime.stop
anime.changeAnimeFunc = function (F) {
anime.animeFunc = F;
} // anime.changeAnimeFunc
anime.changeStartFunc = function (F) {
anime.startFunc = F;
} // anime.changeStartFunc
anime.changeFinishFunc = function (F) {
anime.finishFunc = F;
} // anime.changeFinishFunc
anime.isStarted = function () {
return (anime.intervalID ? true : false);
} // anime.isStarted
function displayFrame () {
if (frame >= numFrames) {
anime.intervalID = clearInterval(anime.intervalID);
if (anime.finishFunc) anime.finishFunc();
frame = 0;
return;
}
anime.animeFunc();
frame++;
} // displayFrame
return anime;
} // Core.animation
Core.keyNum = function Core_keyNum (e) {
var keynum;
if(window.event) { // IE
keynum = e.keyCode;
} else if(e.which) { // Netscape/Firefox/Opera
keynum = e.which;
}
return keynum;
}
//	 * contact@mydomain.com
//	 * help@nbc.co.uk
//	 * george@sub.whatever.mydomain.ca
//--------------------------------------------------------------------------------
Core.validateEmail = function Core_validateEmail(email) {
var emailfilter = /^\w+([\+\.-]*\w+)*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,6}|\d+)$/i;
return emailfilter.test(email);
}
Core.isAnyNumber = function Core_isAnyNumber(number) {
var filter = /^-*\d+\.*\d*$/;
return filter.test(number);
}
Core.isPositiveNumber = function isPositiveNumber(number) {
if (Core.isAnyNumber(number)) {
if (number > 0) {
return true;
}}
return false;
}
Core.isIntegerNumber = function Core_isIntegerNumber(number) {
var filter = /^\d+$/;
return filter.test(number);
}
function DropMenu () {
}
DropMenu.closing = new Array;
DropMenu.positionX = new Array;
DropMenu.positionY = new Array;
DropMenu.show = function(menu_id, position_id, deltaX, deltaY) {
if ((DropMenu.closing[menu_id] != 0) && (DropMenu.closing[menu_id] != null)) {
clearTimeout(DropMenu.closing[menu_id]);
DropMenu.closing[menu_id] = 0;
} else {
var menu = Core.getElementU(menu_id);
if (position_id) {
var position = Core.getElementPos(position_id);
if (position != null) {
DropMenu.positionX[menu_id] = position.currentLeft;
DropMenu.positionY[menu_id] = position.currentTop;
}
if (menu && deltaX != null) menu.style.left = deltaX + DropMenu.positionX[menu_id] + "px";
if (menu && deltaY != null) menu.style.top = deltaY + DropMenu.positionY[menu_id] + "px";
}
Core.showElement(menu_id);
}}
DropMenu.hide = function(menu_id) {
DropMenu.closing[menu_id] = setTimeout("DropMenu.close('" + menu_id + "')", 200);
}
DropMenu.close = function(menu_id) {
Core.hideElement(menu_id);
DropMenu.closing[menu_id] = 0;
try { //cobr problem - top_nav.js not loaded
TopNav.open_menu_id = -1;
} catch(e) {}}
var DialogLimitedEdition = null;
function showLimitedEditionDojo(text) {
if (!DialogLimitedEdition) {
DialogLimitedEdition = new ModalDialog('limited_edition_dojo');
}
DialogLimitedEdition.setContent(text);
DialogLimitedEdition.show();
}
function showShare() {
if (Core.isVisibleElement('photo_share')) {
resetCommentForm();
return;
} else {
resetCommentForm();
}
Core.setClassName('ph_share','button sel');
Core.showElement('photo_share');
}

Hint = function Hint (div_id, content) {
this.hint = (div_id ? Core.getElementU(div_id) : null);
if (this.hint == null) {
this.init = null;
return;
}
this.head = null;
this.body = null;
this.content = (content ? content : "<center><img src=http://images.fotki.com/progress.gif> <span class='text2b black'>Loading...</span></center>");
this.hint_id = div_id;
this.head_id = div_id + "_hinthead";
this.body_id = div_id + "_hintbody";
this.is_showing = 0;
this.animation_on = 0;
this.is_closing = 0;
this.intervalID = 0;
this.parentSize = null;
this.timeout = 1000;	// ms
this.frames = 8;
this.sFrame = 0;
this.hFrame = 8;
this.animation_delay = 30; // ms
this.animationShowHint = null;
this.animationHideHint = null;
this.obj_name = this.hint_id+'_hint';
var obj_name = this.hint_id+'_hint';
Hint[obj_name] = this;
var classes = null;
var arrows = { 1:"arrow1", 2:"arrow2", 3:"arrow3", 4:"arrow4", 5:"arrow5", 6:"arrow6", 7:"arrow7", 8:"arrow8"};
var cur_arrow = 1;	// default
var styles = { "note":"", "win":"win", "dark":"dark", "warn":"warn", "orange":"orange"};
this.hint_class = Core.getClassName(this.hint_id);   // return like: hint arrow1 dark
var head_class = "hint_arrow";
var body_class = "hint_body";
this.init = function Hint_init () {
classes = this.getHintClasses();
this.hint.innerHTML = "<ul><li id='"+this.head_id+"' class='"+head_class +"'>&nbsp;</li><li class='dd1'>&nbsp;</li><li class='dd2'>&nbsp;</li><li class='bb1'><div>&nbsp;</div></li><li id='"+this.body_id+"' class='bb2'>" +
this.content +
"</li><li class='dd3'>&nbsp;</li><li class='dd4'>&nbsp;</li><li class='bb3'><div>&nbsp;</div></li></ul>";
this.head = Core.getElementU(this.head_id);
this.body = Core.getElementU(this.body_id);
this.animationShowHint = new Core.animation(this.frames, this.animation_delay, this.animeShowFunc, this.animeShowStartFunc, this.animeShowFinishFunc);
this.animationHideHint = new Core.animation(this.frames, this.animation_delay, this.animeHideFunc, this.animeHideStartFunc, this.animeHideFinishFunc);
} // this.init
this.setPosition = function Hint_setPosition (ref) {
var parent_pos = Core.getElementPos(ref);
this.parentSize = Core.getElementSize(ref);
if (parent_pos && this.parentSize) {
var left, top;
switch (this.cur_arrow) {
case 1:
left = parent_pos.x;
top = parent_pos.y + this.parentSize.height + 2;
break;
case 2:
left = parent_pos.x;
top = parent_pos.y + this.parentSize.height + 2;
break;
case 3:
left = parent_pos.x - 4;
top = parent_pos.y;
break;
case 4:
left = parent_pos.x - 4;
top = parent_pos.y;
break;
case 5:
left = parent_pos.x + this.parentSize.width;
top = parent_pos.y - 2;
break;
case 6:
left = parent_pos.x + this.parentSize.width;
top = parent_pos.y - 2;
break;
case 7:
left = parent_pos.x + this.parentSize.width + 2;
top = parent_pos.y;
break;
case 8:
left = parent_pos.x + this.parentSize.width + 2;
top = parent_pos.y;
break;
default:
left = parent_pos.x;
top = (parent_pos.y + this.parentSize.height + 2);
break;
}
this.hint.style.left = left + "px";
this.hint.style.top = top + 'px';
return true;
} else {
return false;
}} //this.getPosition
this.setTimeout = function Hint_setTimeout (t) {	// ms
this.timeout = t;
} // this.setTimeout
this.setAnimationDelay = function Hint_AnimationDelay (d) {   // ms
this.animation_delay = d;
} // this.
this.getHintClasses = function Hint_getHintClasses() {
var arr = this.hint_class.split(" ");
return {'hint': (arr[0]?arr[0]:''), 'arrow': (arr[1]?arr[1]:''), 'style': (arr[2]?arr[2]:'')};
} // this.gethintClasses
this.show = function Hint_show (ref) {
if (this.is_showing) {
this.quickHide();
}
if (this.animation_on && !Core.detectBrowser().isIE) {
if (this.animationHideHint && this.animationHideHint.isStarted()) this.animationHideHint.stop();
if (this.animationShowHint && this.animationShowHint.isStarted()) this.animationShowHint.stop();
}
if (!this.setPosition(ref)) return;
if(this.animation_on && !Core.detectBrowser().isIE) this.animationShowHint.start();
Core.showElement(this.hint);
Hint[obj_name].addHintEvents();
this.is_closing = setTimeout("Hint['"+obj_name+"'].hide()", this.timeout);
this.is_showing = 1;
} // this.show
this.setArrow = function Hint_setArrow (key) {
if (key && arrows[key]) {
classes["arrow"] = arrows[key];
this.cur_arrow = key;
}
this.hint_class = classes["hint"]+" "+classes["arrow"]+" "+classes["style"];
Core.setClassName(this.hint, this.hint_class);
} // this.setArrow
this.setStyle = function Hint_setStyle (key) {
if (key && (styles[key] || key == "note")) {
classes["style"] = styles[key];
}
this.hint_class = classes["hint"]+" "+classes["arrow"]+" "+classes["style"];
Core.setClassName(this.hint, this.hint_class);
} // this.setStyle
this.setContent = function Hint_setContent (cont) {
this.content = cont;
Core.setText(this.body_id, cont);
} // this.setContent
this.hide = function Hint_hide () {
if (this.animation_on && !Core.detectBrowser().isIE) {
if (this.animationShowHint.isStarted()) this.animationShowHint.stop();
this.animationHideHint.start();
} else {
this.quickHide();
}} // this.hide
this.quickHide = function Hint_quickHide () {
Core.hideElement(this.hint);
this.is_closing = clearTimeout(this.is_closing);
this.is_showing = 0;
} // this.quickHide
this.animationOn = function Hint_animationOn () {
this.animation_on = 1;
} // Hint_animationOn
this.animationOff = function Hint_animationOff () {
this.animation_on = 0;
} // Hint_animationOff
this.animeShowStartFunc = function () {
Hint[obj_name].sFrame = 0;
Core.setClassName(Hint[obj_name].hint_id, Hint[obj_name].hint_class+' fojo10');
} // this.animeShowStartFunc
this.animeShowFunc = function () {
Core.setClassName(Hint[obj_name].hint_id, Hint[obj_name].hint_class+" fojo"+((Hint[obj_name].sFrame+2)*10));
Hint[obj_name].sFrame++;
} // this.animeShowFunc
this.animeShowFinishFunc = function () {
Core.setClassName(Hint[obj_name].hint_id, Hint[obj_name].hint_class);
} // this.animeShowFinishFunc
this.animeHideStartFunc = function () {
Hint[obj_name].hFrame = 8;
Core.setClassName(Hint[obj_name].hint_id, Hint[obj_name].hint_class+' fojo90');
} // this.animeHideStartFunc
this.animeHideFunc = function () {
Core.setClassName(Hint[obj_name].hint_id, Hint[obj_name].hint_class+" fojo"+(Hint[obj_name].hFrame*10));
Hint[obj_name].hFrame--;
} // this.animeHideFunc
this.animeHideFinishFunc = function () {
Core.hideElement(Hint[obj_name].hint);
Core.setClassName(Hint[obj_name].hint_id, Hint[obj_name].hint_class);
Hint[obj_name].is_closing = clearTimeout(Hint[obj_name].is_closing);
Hint[obj_name].is_showing = 0;
} // this.animeHideFinishFunc
this.init();
} // Hint
Hint.prototype.addHintEvents = function Hint_prototype_addHintEvents () {
var ref = this;
ref.hint.onmouseover = function () {
clearTimeout(ref.is_closing);
};
ref.hint.onmouseout = function () {
ref.is_closing = setTimeout("Hint['"+ref.obj_name+"'].hide()", ref.timeout);
};
}

//(c) Fotki Inc. lang en
LangDict.dict = new Object();
LangDict.dict['Common.Cancel'] = new Object();
LangDict.dict['Common.Cancel'].en = "Cancel";
LangDict.dict['Common.Save'] = new Object();
LangDict.dict['Common.Save'].en = "Save";
LangDict.dict['Login.Forgot.PasswordChangeDesc'] = new Object();
LangDict.dict['Login.Forgot.PasswordChangeDesc'].en = "Type your Fotki UserName into the field below. We\'ll immediately find the email address stored with your account data and email an access-recovery link to you.";
LangDict.dict['Login.Username'] = new Object();
LangDict.dict['Login.Username'].en = "UserName";
LangDict.dict['Messages.LoginAnotherUser'] = new Object();
LangDict.dict['Messages.LoginAnotherUser'].en = "login under another Fotki UserName";
LangDict.dict['Signup.Code.EnterEntireValidationCode'] = new Object();
LangDict.dict['Signup.Code.EnterEntireValidationCode'].en = "Please enter the entire validation code.";
LangDict.dict['Signup.Code.ValidationError'] = new Object();
LangDict.dict['Signup.Code.ValidationError'].en = "Sorry: validation error. Please <a href=\"\/\">sign up<\/a> anew.";
LangDict.dict['Signup.Code.WrongCodeEntered'] = new Object();
LangDict.dict['Signup.Code.WrongCodeEntered'].en = "Wrong code entered. Please retype.";
LangDict.dict['Signup.EMail.ProvideValidEmail'] = new Object();
LangDict.dict['Signup.EMail.ProvideValidEmail'].en = "Please provide a valid email address.";
LangDict.dict['Signup.OK'] = new Object();
LangDict.dict['Signup.OK'].en = "OK";
LangDict.dict['Signup.Password.ReenterPassword'] = new Object();
LangDict.dict['Signup.Password.ReenterPassword'].en = "Mistake. Please re-enter the password.";
LangDict.dict['Signup.Password.RepeatPassword'] = new Object();
LangDict.dict['Signup.Password.RepeatPassword'].en = "Please repeat the password.";
LangDict.dict['Signup.Password.UseAtLeast4Chars'] = new Object();
LangDict.dict['Signup.Password.UseAtLeast4Chars'].en = "Please use at least 4 characters.";
LangDict.dict['Signup.UserName.IsEmpty'] = new Object();
LangDict.dict['Signup.UserName.IsEmpty'].en = "UserName is empty and it is required field.";
LangDict.dict['Signup.UserName.IsTakenAlready'] = new Object();
LangDict.dict['Signup.UserName.IsTakenAlready'].en = "is taken already. Please, enter another one.";
LangDict.dict['Signup.UserName.NumbersAndLatinChar'] = new Object();
LangDict.dict['Signup.UserName.NumbersAndLatinChar'].en = "Only numbers, Latin characters and dash sign \"-\" can be used.";
LangDict.dict['Signup.UserName.PleaseEnterUsername'] = new Object();
LangDict.dict['Signup.UserName.PleaseEnterUsername'].en = "Please enter a UserName.";
LangDict.dict['TopNav.Account'] = new Object();
LangDict.dict['TopNav.Account'].en = "My Account";
LangDict.dict['TopNav.AlbumsJS.SelectPhotosFirst'] = new Object();
LangDict.dict['TopNav.AlbumsJS.SelectPhotosFirst'].en = "Please select photos first";
LangDict.dict['TopNav.Cart.Hint.GoToCart.Part1_3'] = new Object();
LangDict.dict['TopNav.Cart.Hint.GoToCart.Part1_3'].en = "Items&nbsp;added:&nbsp;";
LangDict.dict['TopNav.Cart.Hint.GoToCart.Part2_3'] = new Object();
LangDict.dict['TopNav.Cart.Hint.GoToCart.Part2_3'].en = "To&nbsp;place&nbsp;your&nbsp;order, click&nbsp;on&nbsp;your&nbsp;cart.";
LangDict.dict['TopNav.Cart.Hint.GoToCart.Part3_3'] = new Object();
LangDict.dict['TopNav.Cart.Hint.GoToCart.Part3_3'].en = "Remind&nbsp;me&nbsp;later&nbsp;";
LangDict.dict['TopNav.Cart.Hint.ItemsQuantity'] = new Object();
LangDict.dict['TopNav.Cart.Hint.ItemsQuantity'].en = "Items&nbsp;in&nbsp;your&nbsp;cart:&nbsp;";
LangDict.dict['TopNav.Comments'] = new Object();
LangDict.dict['TopNav.Comments'].en = "Comments";
LangDict.dict['TopNav.Contests'] = new Object();
LangDict.dict['TopNav.Contests'].en = "Contests";
LangDict.dict['TopNav.Downloads'] = new Object();
LangDict.dict['TopNav.Downloads'].en = "Downloads";
LangDict.dict['TopNav.FotkiBlog'] = new Object();
LangDict.dict['TopNav.FotkiBlog'].en = "Fotki Blog";
LangDict.dict['TopNav.FotkiEstoniaBlog'] = new Object();
LangDict.dict['TopNav.FotkiEstoniaBlog'].en = "Fotki.ee blog";
LangDict.dict['TopNav.FotkiForums'] = new Object();
LangDict.dict['TopNav.FotkiForums'].en = "Fotki Forums";
LangDict.dict['TopNav.FotkiHome'] = new Object();
LangDict.dict['TopNav.FotkiHome'].en = "Fotki Home";
LangDict.dict['TopNav.GoTo'] = new Object();
LangDict.dict['TopNav.GoTo'].en = "Go to";
LangDict.dict['TopNav.Guests'] = new Object();
LangDict.dict['TopNav.Guests'].en = "Guests";
LangDict.dict['TopNav.Help'] = new Object();
LangDict.dict['TopNav.Help'].en = "Help";
LangDict.dict['TopNav.HostImages'] = new Object();
LangDict.dict['TopNav.HostImages'].en = "Image Hosting";
LangDict.dict['TopNav.Journals'] = new Object();
LangDict.dict['TopNav.Journals'].en = "Journals";
LangDict.dict['TopNav.LayoutsEditor'] = new Object();
LangDict.dict['TopNav.LayoutsEditor'].en = "Layouts editor";
LangDict.dict['TopNav.Links'] = new Object();
LangDict.dict['TopNav.Links'].en = "Links";
LangDict.dict['TopNav.LoggedInAs'] = new Object();
LangDict.dict['TopNav.LoggedInAs'].en = "Logged in as";
LangDict.dict['TopNav.Login'] = new Object();
LangDict.dict['TopNav.Login'].en = "Login";
LangDict.dict['TopNav.Logout'] = new Object();
LangDict.dict['TopNav.Logout'].en = "Logout";
LangDict.dict['TopNav.MediaAlbums'] = new Object();
LangDict.dict['TopNav.MediaAlbums'].en = "My Media Albums";
LangDict.dict['TopNav.MyAccount'] = new Object();
LangDict.dict['TopNav.MyAccount'].en = "My Account";
LangDict.dict['TopNav.MyAddrBook'] = new Object();
LangDict.dict['TopNav.MyAddrBook'].en = "My Address Book";
LangDict.dict['TopNav.MyAlbums'] = new Object();
LangDict.dict['TopNav.MyAlbums'].en = "My Albums";
LangDict.dict['TopNav.MyEmail'] = new Object();
LangDict.dict['TopNav.MyEmail'].en = "My Email";
LangDict.dict['TopNav.MyForums'] = new Object();
LangDict.dict['TopNav.MyForums'].en = "My Forums";
LangDict.dict['TopNav.MyFotki'] = new Object();
LangDict.dict['TopNav.MyFotki'].en = "My Fotki";
LangDict.dict['TopNav.MyFotkiFeed'] = new Object();
LangDict.dict['TopNav.MyFotkiFeed'].en = "My Fotki Feed";
LangDict.dict['TopNav.MyFotkiMap'] = new Object();
LangDict.dict['TopNav.MyFotkiMap'].en = "My FotkiMap";
LangDict.dict['TopNav.MyFriends'] = new Object();
LangDict.dict['TopNav.MyFriends'].en = "My Friends";
LangDict.dict['TopNav.MyGuestbook'] = new Object();
LangDict.dict['TopNav.MyGuestbook'].en = "My Guestbook";
LangDict.dict['TopNav.MyGuests'] = new Object();
LangDict.dict['TopNav.MyGuests'].en = "My Guests";
LangDict.dict['TopNav.MyJournals'] = new Object();
LangDict.dict['TopNav.MyJournals'].en = "My Journals";
LangDict.dict['TopNav.MyLinks'] = new Object();
LangDict.dict['TopNav.MyLinks'].en = "My Links";
LangDict.dict['TopNav.MyProfile'] = new Object();
LangDict.dict['TopNav.MyProfile'].en = "My Profile";
LangDict.dict['TopNav.MyStats'] = new Object();
LangDict.dict['TopNav.MyStats'].en = "My Statistics";
LangDict.dict['TopNav.MyTags'] = new Object();
LangDict.dict['TopNav.MyTags'].en = "My Photo Tags";
LangDict.dict['TopNav.MyVideo'] = new Object();
LangDict.dict['TopNav.MyVideo'].en = "My Videos";
LangDict.dict['TopNav.OrderHistory'] = new Object();
LangDict.dict['TopNav.OrderHistory'].en = "Order History";
LangDict.dict['TopNav.OurAddrBook'] = new Object();
LangDict.dict['TopNav.OurAddrBook'].en = "Our Address Book";
LangDict.dict['TopNav.OurAlbums'] = new Object();
LangDict.dict['TopNav.OurAlbums'].en = "Our Albums";
LangDict.dict['TopNav.OurEmail'] = new Object();
LangDict.dict['TopNav.OurEmail'].en = "Our Email";
LangDict.dict['TopNav.OurForums'] = new Object();
LangDict.dict['TopNav.OurForums'].en = "Our Forums";
LangDict.dict['TopNav.OurFotki'] = new Object();
LangDict.dict['TopNav.OurFotki'].en = "Our Fotki";
LangDict.dict['TopNav.OurFotkiMap'] = new Object();
LangDict.dict['TopNav.OurFotkiMap'].en = "Our FotkiMap";
LangDict.dict['TopNav.OurFriends'] = new Object();
LangDict.dict['TopNav.OurFriends'].en = "Our Friends";
LangDict.dict['TopNav.OurGuestbook'] = new Object();
LangDict.dict['TopNav.OurGuestbook'].en = "Our Guest Book";
LangDict.dict['TopNav.OurGuests'] = new Object();
LangDict.dict['TopNav.OurGuests'].en = "Our Guests";
LangDict.dict['TopNav.OurJournals'] = new Object();
LangDict.dict['TopNav.OurJournals'].en = "Our Journals";
LangDict.dict['TopNav.OurLinks'] = new Object();
LangDict.dict['TopNav.OurLinks'].en = "Our Links";
LangDict.dict['TopNav.OurTags'] = new Object();
LangDict.dict['TopNav.OurTags'].en = "Our Tags";
LangDict.dict['TopNav.OurVideo'] = new Object();
LangDict.dict['TopNav.OurVideo'].en = "Our Videos";
LangDict.dict['TopNav.RemoveItem'] = new Object();
LangDict.dict['TopNav.RemoveItem'].en = "Remove item";
LangDict.dict['TopNav.Search'] = new Object();
LangDict.dict['TopNav.Search'].en = "Search";
LangDict.dict['TopNav.Selling'] = new Object();
LangDict.dict['TopNav.Selling'].en = "Selling";
LangDict.dict['TopNav.ShoppingCart'] = new Object();
LangDict.dict['TopNav.ShoppingCart'].en = "Shopping Cart";
LangDict.dict['TopNav.Signup'] = new Object();
LangDict.dict['TopNav.Signup'].en = "Free Signup";
LangDict.dict['TopNav.Signup.Code.EnterEntireValidationCode'] = new Object();
LangDict.dict['TopNav.Signup.Code.EnterEntireValidationCode'].en = "Please enter the entire validation code.";
LangDict.dict['TopNav.Signup.Code.ValidationError'] = new Object();
LangDict.dict['TopNav.Signup.Code.ValidationError'].en = "Sorry: validation error. Please <a href=\"\/\">sign up<\/a> anew.";
LangDict.dict['TopNav.Signup.Code.WrongCodeEntered'] = new Object();
LangDict.dict['TopNav.Signup.Code.WrongCodeEntered'].en = "Wrong code entered. Please retype.";
LangDict.dict['TopNav.Signup.EMail.ProvideValidEmail'] = new Object();
LangDict.dict['TopNav.Signup.EMail.ProvideValidEmail'].en = "Please provide a valid email address.";
LangDict.dict['TopNav.Signup.Password.ProvidePassword'] = new Object();
LangDict.dict['TopNav.Signup.Password.ProvidePassword'].en = "Please provide a password.";
LangDict.dict['TopNav.Signup.Password.ReenterPassword'] = new Object();
LangDict.dict['TopNav.Signup.Password.ReenterPassword'].en = "Mistake. Please re-enter the password.";
LangDict.dict['TopNav.Signup.Password.RepeatPassword'] = new Object();
LangDict.dict['TopNav.Signup.Password.RepeatPassword'].en = "Please repeat the password.";
LangDict.dict['TopNav.Signup.Password.UseAtLeast4Chars'] = new Object();
LangDict.dict['TopNav.Signup.Password.UseAtLeast4Chars'].en = "Please use at least 4 characters.";
LangDict.dict['TopNav.Signup.Terms.DoYouAgree'] = new Object();
LangDict.dict['TopNav.Signup.Terms.DoYouAgree'].en = "Do you agree to Fotki Terms of Service?";
LangDict.dict['TopNav.Signup.UserName.IsEmpty'] = new Object();
LangDict.dict['TopNav.Signup.UserName.IsEmpty'].en = "UserName is empty and it is required field.";
LangDict.dict['TopNav.Signup.UserName.IsTakenAlready'] = new Object();
LangDict.dict['TopNav.Signup.UserName.IsTakenAlready'].en = "is taken already. Please, enter another one.";
LangDict.dict['TopNav.Signup.UserName.NumbersAndLatinChar'] = new Object();
LangDict.dict['TopNav.Signup.UserName.NumbersAndLatinChar'].en = "Only numbers, Latin characters and dash sign \"-\" can be used.";
LangDict.dict['TopNav.Signup.UserName.PleaseEnterUsername'] = new Object();
LangDict.dict['TopNav.Signup.UserName.PleaseEnterUsername'].en = "Please enter a UserName.";
LangDict.dict['TopNav.Support'] = new Object();
LangDict.dict['TopNav.Support'].en = "Customer Service";
LangDict.dict['TopNav.Tags'] = new Object();
LangDict.dict['TopNav.Tags'].en = "My Tags";
LangDict.dict['Upload.PictureSync.CanDownload'] = new Object();
LangDict.dict['Upload.PictureSync.CanDownload'].en = "You can download it from <a href=\"http:\/\/picturesync.net\/mac\" target=\"_blank\" title=\"PictureSync download\">PictureSync site<\/a>.";
LangDict.dict['ViewAlbum.New'] = new Object();
LangDict.dict['ViewAlbum.New'].en = "new";
LangDict.dict['ViewAlbum.ViewPhoto.EditManual.Position'] = new Object();
LangDict.dict['ViewAlbum.ViewPhoto.EditManual.Position'].en = "new position";

function Logger() {};
Logger.last_log = null;
Logger.disabled = false;
Logger.full_disable = function Logger_disable(message) {
Logger.disabled = true;
}
Logger.full_enable = function Logger_disable(message) {
Logger.disabled = false;
}
Logger.log = function Logger_log(message) {
if (Logger.disabled) {
return;
}
var duration = 0;
if(Logger.last_log != null) {
duration = new Date().getTime() - Logger.last_log;
Logger.last_log = new Date().getTime();
}
var a = arguments.caller;
Core.appendTextToTop('log', duration + ' ms. | <B>' + Logger.funcname(Logger.log.caller) + '</B> | ' + message + '<BR>');
Core.clearTail('log', 80);
if (Logger.last_log == null) {
Logger.last_log = new Date().getTime();
}}
Logger.funcname = function Logger_funcname(f) {
if(f != null && f != "" && f.length > 0) {
var s = "";
if(f.toString() != null) {
s = f.toString().match(/function (\w*)/);
try {
s = s[1];
} catch (error) {
s = '';
}}
if ((s == null) || (s.length==0) || s == "" || s == "function()") {
return "anonymous";
} else {
return s + "()";
}}
}

//see also images.fotki.com/html/css/merchandise.css for use with this file
function Popup() {
}
Popup.show = function popup_show(content) {
if(Core.getElementU('dynamic_popup_div') == null) {
var new_div = document.createElement("div");
new_div.setAttribute("id", "dynamic_popup_div");
new_div.innerHTML = content; //div_content;
Core.getDocumentBody().appendChild(new_div);
Core.flushElementCache();
}
Core.setText('dynamic_popup_div', content);
Core.getElementU('iframe-wrapper').style.top = Core.round((Core.getPageSize()[3] - 600 )/2) + 'px';
Core.showElement('dynamic_popup_div'); //popup_div
Core.flushElementCache();
}
Popup.hide = function popup_hide() {
Core.setText('dynamic_popup_div', '');
Core.hideElement('dynamic_popup_div'); //popup_div
Core.flushElementCache();
}
Popup.url = function popup_url(url) {
var content = '<div id="iframe-wrapper" class="iframe-wrapper">'
+'<a href="javascript:Popup.hide();" id="closebutton"><img src="http://images.fotki.com/cart/delete.gif" alt="Close window"></a>'
+'<iframe src="' + url + '" FRAMEBORDER="0"></iframe></div>';
Popup.show(content, 'popup_form');
return;
}

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;if(!I[A]){I[A]={versions:[],builds:[]};}var 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(var 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};var 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]);}}}}}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||{isArray:function(B){if(B){var A=YAHOO.lang;return A.isNumber(B.length)&&A.isFunction(B.splice);}return false;},isBoolean:function(A){return typeof A==="boolean";},isFunction:function(A){return typeof A==="function";},isNull:function(A){return A===null;},isNumber:function(A){return typeof A==="number"&&isFinite(A);},isObject:function(A){return(A&&(typeof A==="object"||YAHOO.lang.isFunction(A)))||false;},isString:function(A){return typeof A==="string";},isUndefined:function(A){return typeof A==="undefined";},hasOwnProperty:function(A,B){if(Object.prototype.hasOwnProperty){return A.hasOwnProperty(B);}return !YAHOO.lang.isUndefined(A[B])&&A.constructor.prototype[B]!==A[B];},_IEEnumFix:function(C,B){if(YAHOO.env.ua.ie){var E=["toString","valueOf"],A;for(A=0;A<E.length;A=A+1){var F=E[A],D=B[F];if(YAHOO.lang.isFunction(D)&&D!=Object.prototype[F]){C[F]=D;}}}},extend:function(D,E,C){if(!E||!D){throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");}var B=function(){};B.prototype=E.prototype;D.prototype=new B();D.prototype.constructor=D;D.superclass=E.prototype;if(E.prototype.constructor==Object.prototype.constructor){E.prototype.constructor=E;}if(C){for(var A in C){D.prototype[A]=C[A];}YAHOO.lang._IEEnumFix(D.prototype,C);}},augmentObject:function(E,D){if(!D||!E){throw new Error("Absorb failed, verify dependencies.");}var A=arguments,C,F,B=A[2];if(B&&B!==true){for(C=2;C<A.length;C=C+1){E[A[C]]=D[A[C]];}}else{for(F in D){if(B||!E[F]){E[F]=D[F];}}YAHOO.lang._IEEnumFix(E,D);}},augmentProto:function(D,C){if(!C||!D){throw new Error("Augment failed, verify dependencies.");}var A=[D.prototype,C.prototype];for(var B=2;B<arguments.length;B=B+1){A.push(arguments[B]);}YAHOO.lang.augmentObject.apply(this,A);},dump:function(A,G){var C=YAHOO.lang,D,F,I=[],J="{...}",B="f(){...}",H=", ",E=" => ";if(!C.isObject(A)){return A+"";}else{if(A instanceof Date||("nodeType" in A&&"tagName" in A)){return A;}else{if(C.isFunction(A)){return B;}}}G=(C.isNumber(G))?G:3;if(C.isArray(A)){I.push("[");for(D=0,F=A.length;D<F;D=D+1){if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var D={},B=arguments;for(var C=0,A=B.length;C<A;C=C+1){YAHOO.lang.augmentObject(D,B[C],true);}return D;},later:function(H,B,I,D,E){H=H||0;B=B||{};var C=I,G=D,F,A;if(YAHOO.lang.isString(I)){C=B[I];}if(!C){throw new TypeError("method undefined");}if(!YAHOO.lang.isArray(G)){G=[D];}F=function(){C.apply(B,G);};A=(E)?setInterval(F,H):setTimeout(F,H);return{interval:E,cancel:function(){if(this.interval){clearInterval(A);}else{clearTimeout(A);}}};},isValue:function(B){var A=YAHOO.lang;return(A.isObject(B)||A.isString(B)||A.isNumber(B)||A.isBoolean(B));}};YAHOO.util.Lang=YAHOO.lang;YAHOO.lang.augment=YAHOO.lang.augmentProto;YAHOO.augment=YAHOO.lang.augmentProto;YAHOO.extend=YAHOO.lang.extend;YAHOO.register("yahoo",YAHOO,{version:"2.5.1",build:"984"});(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S=="float"){S="cssFloat";}var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case"opacity":var T=100;try{T=P.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(S){try{T=P.filters("alpha").opacity;}catch(S){}}return T/100;case"float":R="styleFloat";default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case"opacity":if(YAHOO.lang.isString(P.style.filter)){P.style.filter="alpha(opacity="+R*100+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case"float":Q="styleFloat";default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q=="float"){Q="cssFloat";}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,"position");if(U=="static"){this.setStyle(V,"position","relative");U="relative";}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top"),10)];if(isNaN(W[0])){W[0]=(U=="relative")?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U=="relative")?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+"px";}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+"px";}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||"*";U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(" "));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P," ");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R," "+P+" ");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||"yui-gen";var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||"*";R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
var Q=M.compatMode;if((Q||G)&&!C){P=(Q=="CSS1Compat")?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function(){var P=self.innerWidth;var Q=M.compatMode;if(Q||G){P=(Q=="CSS1Compat")?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q){while(P=P.parentNode){if(D(P,Q)){return P;}}return null;},getAncestorByClassName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=P.previousSibling;if(D(P,Q)){return P;}}return null;},getPreviousSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=P.nextSibling;if(D(P,Q)){return P;}}return null;},getNextSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length]=T;}return false;});return P;},getChildren:function(P){P=B.Dom.get(P);if(!P){}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P){P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}if(P.nextSibling){return P.parentNode.insertBefore(Q,P.nextSibling);}else{return P.parentNode.appendChild(Q);}},getClientRegion:function(){var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function(){if(M.documentElement.getBoundingClientRect){return function(Q){var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else{return function(R){var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,"position")=="absolute"&&R.offsetParent==R.ownerDocument.body);if(Q!=R){while(Q){S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=="absolute"){P=true;}Q=Q.offsetParent;}}if(P){S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=="visible"){S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var 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+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var 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];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.1",build:"984"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;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(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},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(){var D=this.subscribers.length;if(!D&&this.silent){return true;}var H=[].slice.call(arguments,0),F=true,C,I=false;if(!this.silent){}var B=this.subscribers.slice();for(C=0;C<D;++C){var K=B[C];if(!K){I=true;}else{if(!this.silent){}var J=K.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var A=null;if(H.length>0){A=H[0];}try{F=K.fn.call(J,A,K.obj);}catch(E){this.lastError=E;}}else{try{F=K.fn.call(J,this.type,H,K.obj);}catch(G){this.lastError=G;}}if(false===F){if(!this.silent){}return false;}}}return true;},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+"}";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return -1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=L.length-1;O>-1;O--){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=J.length-1;O>-1;O--){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M.splice(O,1);break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;
if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;M=M+1){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0&&F.length>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1){O=F[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F[L]=null;}}else{R(N,O);F[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=F.length-1;L>-1;L--){O=F[L];if(!O||!O.id){F.splice(L,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q){var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N){L=R[N];if(L){var S=window;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]===true){S=L[K.UNLOAD_OBJ];}else{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I){for(M=I.length-1;M>-1;M--){L=I[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,"unload",K._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;
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,override: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].override);}}}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;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.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.5.1",build:"984"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.5.1", build: "984"});
(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F,E;for(F in this.config){E=this.config[F];if(E&&E.event){D[F]=E.value;}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){this.refireEvent(D);}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(E,F,H,D){var G=this.config[E.toLowerCase()];if(G&&G.event){if(!A.alreadySubscribed(G.event,F,H)){G.event.subscribe(F,H,D);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(Q,P){if(Q){this.init(Q,P);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,M=YAHOO.util.Event,L=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,H,O,N,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.textResizeEvent=new L("textResize");function K(){if(!H){H=document.createElement("div");H.innerHTML=('<div class="'+G.CSS_HEADER+'"></div>'+'<div class="'+G.CSS_BODY+'"></div><div class="'+G.CSS_FOOTER+'"></div>');O=H.firstChild;N=O.nextSibling;E=N.nextSibling;}return H;}function J(){if(!O){K();}return(O.cloneNode(false));}function B(){if(!N){K();}return(N.cloneNode(false));}function C(){if(!E){K();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var P=L.LIST;this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=P;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=P;this.appendEvent=this.createEvent(A.APPEND);
this.appendEvent.signature=P;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=P;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=P;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=P;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=P;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=P;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=P;this.destroyEvent=this.createEvent(A.DESTORY);this.destroyEvent.signature=P;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=P;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=P;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=P;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=P;},platform:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("windows")!=-1||P.indexOf("win32")!=-1){return"windows";}else{if(P.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("opera")!=-1){return"opera";}else{if(P.indexOf("msie 7")!=-1){return"ie7";}else{if(P.indexOf("msie")!=-1){return"ie";}else{if(P.indexOf("safari")!=-1){return"safari";}else{if(P.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(I.VISIBLE.key,{handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});this.cfg.addProperty(I.EFFECT.key,{suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});this.cfg.addProperty(I.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key,{value:I.APPEND_TO_DOCUMENT_BODY.value});},init:function(U,T){var R,V;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof U=="string"){R=U;U=document.getElementById(U);if(!U){U=(K()).cloneNode(false);U.id=R;}}this.element=U;if(U.id){this.id=U.id;}V=this.element.firstChild;if(V){var Q=false,P=false,S=false;do{if(1==V.nodeType){if(!Q&&F.hasClass(V,G.CSS_HEADER)){this.header=V;Q=true;}else{if(!P&&F.hasClass(V,G.CSS_BODY)){this.body=V;P=true;}else{if(!S&&F.hasClass(V,G.CSS_FOOTER)){this.footer=V;S=true;}}}}}while((V=V.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(T){this.cfg.applyConfig(T,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var Q=(YAHOO.env.ua.gecko&&this.platform=="windows");if(Q){var P=this;setTimeout(function(){P._initResizeMonitor();},0);}else{this._initResizeMonitor();}},_initResizeMonitor:function(){var P,R,T;function V(){G.textResizeEvent.fire();}if(!YAHOO.env.ua.opera){R=F.get("_yuiResizeMonitor");var U=this._supportsCWResize();if(!R){R=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){R.src=G.RESIZE_MONITOR_SECURE_URL;}if(!U){T=["<html><head><script ",'type="text/javascript">',"window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();};<","/script></head>","<body></body></html>"].join("");R.src="data:text/html;charset=utf-8,"+encodeURIComponent(T);}R.id="_yuiResizeMonitor";R.style.position="absolute";R.style.visibility="hidden";var Q=document.body,S=Q.firstChild;if(S){Q.insertBefore(R,S);}else{Q.appendChild(R);}R.style.width="10em";R.style.height="10em";R.style.top=(-1*R.offsetHeight)+"px";R.style.left=(-1*R.offsetWidth)+"px";R.style.borderWidth="0";R.style.visibility="visible";if(YAHOO.env.ua.webkit){P=R.contentWindow.document;P.open();P.close();}}if(R&&R.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(U){if(!M.on(R.contentWindow,"resize",V)){M.on(R,"resize",V);}}G.textResizeInitialized=true;}this.resizeMonitor=R;}}},_supportsCWResize:function(){var P=true;if(YAHOO.env.ua.gecko&&YAHOO.env.ua.gecko<=1.8){P=false;}return P;},onDomResize:function(S,R){var Q=-1*this.resizeMonitor.offsetWidth,P=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=P+"px";this.resizeMonitor.style.left=Q+"px";},setHeader:function(Q){var P=this.header||(this.header=J());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},appendToHeader:function(Q){var P=this.header||(this.header=J());P.appendChild(Q);this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},setBody:function(Q){var P=this.body||(this.body=B());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},appendToBody:function(Q){var P=this.body||(this.body=B());P.appendChild(Q);this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},setFooter:function(Q){var P=this.footer||(this.footer=C());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},appendToFooter:function(Q){var P=this.footer||(this.footer=C());P.appendChild(Q);this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},render:function(R,P){var S=this,T;function Q(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){S._addToParent(U,S.element);S.appendEvent.fire();}}this.beforeRenderEvent.fire();if(!P){P=this.element;}if(R){Q(R);}else{if(!F.inDocument(this.element)){return false;}}if(this.header&&!F.inDocument(this.header)){T=P.firstChild;if(T){P.insertBefore(this.header,T);}else{P.appendChild(this.header);}}if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(this.moduleElement,this.footer)){P.insertBefore(this.body,this.footer);
}else{P.appendChild(this.body);}}if(this.footer&&!F.inDocument(this.footer)){P.appendChild(this.footer);}this.renderEvent.fire();return true;},destroy:function(){var P,Q;if(this.element){M.purgeElement(this.element,true);P=this.element.parentNode;}if(P){P.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(Q in this){if(Q instanceof L){Q.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(Q,P,R){var S=P[0];if(S){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(R,Q,S){var P=Q[0];if(P){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(P,Q){if(!this.cfg.getProperty("appendtodocumentbody")&&P===document.body&&P.firstChild){P.insertBefore(Q,P.firstChild);}else{P.appendChild(Q);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(L,K){YAHOO.widget.Overlay.superclass.constructor.call(this,L,K);};var F=YAHOO.lang,I=YAHOO.util.CustomEvent,E=YAHOO.widget.Module,J=YAHOO.util.Event,D=YAHOO.util.Dom,C=YAHOO.util.Config,B=YAHOO.widget.Overlay,G,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},H={"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:F.isBoolean,supercedes:["zindex"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.VIEWPORT_OFFSET=10;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.CSS_OVERLAY="yui-overlay";B.windowScrollEvent=new I("windowScroll");B.windowResizeEvent=new I("windowResize");B.windowScrollHandler=function(K){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}};B.windowResizeHandler=function(K){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){J.on(window,"scroll",B.windowScrollHandler);J.on(window,"resize",B.windowResizeHandler);B._initialized=true;}YAHOO.extend(B,E,{init:function(L,K){B.superclass.init.call(this,L);this.beforeInitEvent.fire(B);D.addClass(this.element,B.CSS_OVERLAY);if(K){this.cfg.applyConfig(K,true);}if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!C.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!C.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var K=I.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=K;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=K;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.X.key,{handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});this.cfg.addProperty(H.Y.key,{handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});this.cfg.addProperty(H.XY.key,{handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});this.cfg.addProperty(H.CONTEXT.key,{handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});this.cfg.addProperty(H.FIXED_CENTER.key,{handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});this.cfg.addProperty(H.WIDTH.key,{handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});this.cfg.addProperty(H.HEIGHT.key,{handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});this.cfg.addProperty(H.ZINDEX.key,{handler:this.configzIndex,value:H.ZINDEX.value});this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(H.IFRAME.key,{handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});},moveTo:function(K,L){this.cfg.setProperty("xy",[K,L]);},hideMacGeckoScrollbars:function(){D.removeClass(this.element,"show-scrollbars");D.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){D.removeClass(this.element,"hide-scrollbars");D.addClass(this.element,"show-scrollbars");},configVisible:function(N,K,T){var M=K[0],O=D.getStyle(this.element,"visibility"),U=this.cfg.getProperty("effect"),R=[],Q=(this.platform=="mac"&&YAHOO.env.ua.gecko),b=C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;
if(O=="inherit"){a=this.element.parentNode;while(a.nodeType!=9&&a.nodeType!=11){O=D.getStyle(a,"visibility");if(O!="inherit"){break;}a=a.parentNode;}if(O=="inherit"){O="visible";}}if(U){if(U instanceof Array){V=U.length;for(Y=0;Y<V;Y++){S=U[Y];R[R.length]=S.effect(this,S.duration);}}else{R[R.length]=U.effect(this,U.duration);}}if(M){if(Q){this.showMacGeckoScrollbars();}if(U){if(M){if(O!="visible"||O===""){this.beforeShowEvent.fire();P=R.length;for(X=0;X<P;X++){L=R[X];if(X===0&&!b(L.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){L.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}L.animateIn();}}}}else{if(O!="visible"||O===""){this.beforeShowEvent.fire();D.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(Q){this.hideMacGeckoScrollbars();}if(U){if(O=="visible"){this.beforeHideEvent.fire();P=R.length;for(W=0;W<P;W++){Z=R[W];if(W===0&&!b(Z.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){Z.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}Z.animateOut();}}else{if(O===""){D.setStyle(this.element,"visibility","hidden");}}}else{if(O=="visible"||O===""){this.beforeHideEvent.fire();D.setStyle(this.element,"visibility","hidden");this.hideEvent.fire();}}}},doCenterOnDOMEvent:function(){if(this.cfg.getProperty("visible")){this.center();}},configFixedCenter:function(O,M,P){var Q=M[0],L=C.alreadySubscribed,N=B.windowResizeEvent,K=B.windowScrollEvent;if(Q){this.center();if(!L(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center);}if(!L(N,this.doCenterOnDOMEvent,this)){N.subscribe(this.doCenterOnDOMEvent,this,true);}if(!L(K,this.doCenterOnDOMEvent,this)){K.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);N.unsubscribe(this.doCenterOnDOMEvent,this);K.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(N,L,O){var K=L[0],M=this.element;D.setStyle(M,"height",K);this.cfg.refireEvent("iframe");},configWidth:function(N,K,O){var M=K[0],L=this.element;D.setStyle(L,"width",M);this.cfg.refireEvent("iframe");},configzIndex:function(M,K,N){var O=K[0],L=this.element;if(!O){O=D.getStyle(L,"zIndex");if(!O||isNaN(O)){O=0;}}if(this.iframe||this.cfg.getProperty("iframe")===true){if(O<=0){O=1;}}D.setStyle(L,"zIndex",O);this.cfg.setProperty("zIndex",O,true);if(this.iframe){this.stackIframe();}},configXY:function(M,L,N){var P=L[0],K=P[0],O=P[1];this.cfg.setProperty("x",K);this.cfg.setProperty("y",O);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configX:function(M,L,N){var K=L[0],O=this.cfg.getProperty("y");this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setX(this.element,K,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configY:function(M,L,N){var K=this.cfg.getProperty("x"),O=L[0];this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setY(this.element,O,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},showIframe:function(){var L=this.iframe,K;if(L){K=this.element.parentNode;if(K!=L.parentNode){this._addToParent(K,L);}L.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var K=this.iframe,M=this.element,O=B.IFRAME_OFFSET,L=(O*2),N;if(K){K.style.width=(M.offsetWidth+L+"px");K.style.height=(M.offsetHeight+L+"px");N=this.cfg.getProperty("xy");if(!F.isArray(N)||(isNaN(N[0])||isNaN(N[1]))){this.syncPosition();N=this.cfg.getProperty("xy");}D.setXY(K,[(N[0]-O),(N[1]-O)]);}},stackIframe:function(){if(this.iframe){var K=D.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(K)&&!isNaN(K)){D.setStyle(this.iframe,"zIndex",(K-1));}}},configIframe:function(N,M,O){var K=M[0];function P(){var R=this.iframe,S=this.element,T;if(!R){if(!G){G=document.createElement("iframe");if(this.isSecure){G.src=B.IFRAME_SRC;}if(YAHOO.env.ua.ie){G.style.filter="alpha(opacity=0)";G.frameBorder=0;}else{G.style.opacity="0";}G.style.position="absolute";G.style.border="none";G.style.margin="0";G.style.padding="0";G.style.display="none";}R=G.cloneNode(false);T=S.parentNode;var Q=T||document.body;this._addToParent(Q,R);this.iframe=R;}this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}function L(){P.call(this);this.beforeShowEvent.unsubscribe(L);this._iframeDeferred=false;}if(K){if(this.cfg.getProperty("visible")){P.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(L);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},_primeXYFromDOM:function(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();this.cfg.refireEvent("xy");this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);}},configConstrainToViewport:function(L,K,M){var N=K[0];if(N){if(!C.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}if(!C.alreadySubscribed(this.beforeShowEvent,this._primeXYFromDOM)){this.beforeShowEvent.subscribe(this._primeXYFromDOM);}}else{this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(M,L,O){var Q=L[0],N,P,K;if(Q){N=Q[0];P=Q[1];
K=Q[2];if(N){if(typeof N=="string"){this.cfg.setProperty("context",[document.getElementById(N),P,K],true);}if(P&&K){this.align(P,K);}}}},align:function(L,K){var Q=this.cfg.getProperty("context"),P=this,O,N,R;function M(S,T){switch(L){case B.TOP_LEFT:P.moveTo(T,S);break;case B.TOP_RIGHT:P.moveTo((T-N.offsetWidth),S);break;case B.BOTTOM_LEFT:P.moveTo(T,(S-N.offsetHeight));break;case B.BOTTOM_RIGHT:P.moveTo((T-N.offsetWidth),(S-N.offsetHeight));break;}}if(Q){O=Q[0];N=this.element;P=this;if(!L){L=Q[1];}if(!K){K=Q[2];}if(N&&O){R=D.getRegion(O);switch(K){case B.TOP_LEFT:M(R.top,R.left);break;case B.TOP_RIGHT:M(R.top,R.right);break;case B.BOTTOM_LEFT:M(R.bottom,R.left);break;case B.BOTTOM_RIGHT:M(R.bottom,R.right);break;}}}},enforceConstraints:function(L,K,M){var O=K[0];var N=this.getConstrainedXY(O[0],O[1]);this.cfg.setProperty("x",N[0],true);this.cfg.setProperty("y",N[1],true);this.cfg.setProperty("xy",N,true);},getConstrainedXY:function(V,T){var N=B.VIEWPORT_OFFSET,U=D.getViewportWidth(),Q=D.getViewportHeight(),M=this.element.offsetHeight,S=this.element.offsetWidth,Y=D.getDocumentScrollLeft(),W=D.getDocumentScrollTop();var P=V;var L=T;if(S+N<U){var R=Y+N;var X=Y+U-S-N;if(V<R){P=R;}else{if(V>X){P=X;}}}else{P=N+Y;}if(M+N<Q){var O=W+N;var K=W+Q-M-N;if(T<O){L=O;}else{if(T>K){L=K;}}}else{L=N+W;}return[P,L];},center:function(){var N=B.VIEWPORT_OFFSET,O=this.element.offsetWidth,M=this.element.offsetHeight,L=D.getViewportWidth(),P=D.getViewportHeight(),K,Q;if(O<L){K=(L/2)-(O/2)+D.getDocumentScrollLeft();}else{K=N+D.getDocumentScrollLeft();}if(M<P){Q=(P/2)-(M/2)+D.getDocumentScrollTop();}else{Q=N+D.getDocumentScrollTop();}this.cfg.setProperty("xy",[parseInt(K,10),parseInt(Q,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var K=D.getXY(this.element);this.cfg.setProperty("x",K[0],true);this.cfg.setProperty("y",K[1],true);this.cfg.setProperty("xy",K,true);},onDomResize:function(M,L){var K=this;B.superclass.onDomResize.call(this,M,L);setTimeout(function(){K.syncPosition();K.cfg.refireEvent("iframe");K.cfg.refireEvent("context");},0);},bringToTop:function(){var O=[],N=this.element;function R(V,U){var X=D.getStyle(V,"zIndex"),W=D.getStyle(U,"zIndex"),T=(!X||isNaN(X))?0:parseInt(X,10),S=(!W||isNaN(W))?0:parseInt(W,10);if(T>S){return -1;}else{if(T<S){return 1;}else{return 0;}}}function M(U){var S=D.hasClass(U,B.CSS_OVERLAY),T=YAHOO.widget.Panel;if(S&&!D.isAncestor(N,S)){if(T&&D.hasClass(U,T.CSS_PANEL)){O[O.length]=U.parentNode;}else{O[O.length]=U;}}}D.getElementsBy(M,"DIV",document.body);O.sort(R);var K=O[0],Q;if(K){Q=D.getStyle(K,"zIndex");if(!isNaN(Q)){var P=false;if(K!=N){P=true;}else{if(O.length>1){var L=D.getStyle(O[1],"zIndex");if(!isNaN(L)&&(Q==L)){P=true;}}}if(P){this.cfg.setProperty("zindex",(parseInt(Q,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.superclass.destroy.call(this);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(G){this.init(G);};var D=YAHOO.widget.Overlay,C=YAHOO.util.Event,E=YAHOO.util.Dom,B=YAHOO.util.Config,F=YAHOO.util.CustomEvent,A=YAHOO.widget.OverlayManager;A.CSS_FOCUSED="focused";A.prototype={constructor:A,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(I){this.cfg=new B(this);this.initDefaultConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();var H=null;this.getActive=function(){return H;};this.focus=function(J){var K=this.find(J);if(K){if(H!=K){if(H){H.blur();}this.bringToTop(K);H=K;E.addClass(H.element,A.CSS_FOCUSED);K.focusEvent.fire();}}};this.remove=function(K){var M=this.find(K),J;if(M){if(H==M){H=null;}var L=(M.element===null&&M.cfg===null)?true:false;if(!L){J=E.getStyle(M.element,"zIndex");M.cfg.setProperty("zIndex",-1000,true);}this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));M.hideEvent.unsubscribe(M.blur);M.destroyEvent.unsubscribe(this._onOverlayDestroy,M);if(!L){C.removeListener(M.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);M.cfg.setProperty("zIndex",J,true);M.cfg.setProperty("manager",null);}M.focusEvent.unsubscribeAll();M.blurEvent.unsubscribeAll();M.focusEvent=null;M.blurEvent=null;M.focus=null;M.blur=null;}};this.blurAll=function(){var K=this.overlays.length,J;if(K>0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._onOverlayBlur=function(K,J){H=null;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},register:function(G){var K=this,L,I,H,J;if(G instanceof D){G.cfg.addProperty("manager",{value:this});G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focus=function(){K.focus(this);};G.blur=function(){if(K.getActive()==this){E.removeClass(this.element,A.CSS_FOCUSED);this.blurEvent.fire();}};G.blurEvent.subscribe(K._onOverlayBlur);G.hideEvent.subscribe(G.blur);G.destroyEvent.subscribe(this._onOverlayDestroy,G,this);C.on(G.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,G);L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){G.cfg.setProperty("zIndex",parseInt(L,10));}else{G.cfg.setProperty("zIndex",0);}this.overlays.push(G);this.bringToTop(G);return true;}else{if(G instanceof Array){I=0;J=G.length;for(H=0;H<J;H++){if(this.register(G[H])){I++;}}if(I>0){return true;}}else{return false;}}},bringToTop:function(M){var I=this.find(M),L,G,J;if(I){J=this.overlays;J.sort(this.compareZIndexDesc);G=J[0];if(G){L=E.getStyle(G.element,"zIndex");
if(!isNaN(L)){var K=false;if(G!==I){K=true;}else{if(J.length>1){var H=E.getStyle(J[1].element,"zIndex");if(!isNaN(H)&&(L==H)){K=true;}}}if(K){I.cfg.setProperty("zindex",(parseInt(L,10)+2));}}J.sort(this.compareZIndexDesc);}}},find:function(G){var I=this.overlays,J=I.length,H;if(J>0){H=J-1;if(G instanceof D){do{if(I[H]==G){return I[H];}}while(H--);}else{if(typeof G=="string"){do{if(I[H].id==G){return I[H];}}while(H--);}}return null;}},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H<G){return 1;}else{return 0;}}}}}},showAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].show();}while(G--);}},hideAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].hide();}while(G--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.ContainerEffect=function(F,I,H,E,G){if(!G){G=YAHOO.util.Anim;}this.overlay=F;this.attrIn=I;this.attrOut=H;this.targetElement=E||F.element;this.animClass=G;};var B=YAHOO.util.Dom,D=YAHOO.util.CustomEvent,C=YAHOO.util.Easing,A=YAHOO.widget.ContainerEffect;A.FADE=function(E,G){var I={attributes:{opacity:{from:0,to:1}},duration:G,method:C.easeIn};var F={attributes:{opacity:{to:0}},duration:G,method:C.easeOut};var H=new A(E,I,F,E.element);H.handleUnderlayStart=function(){var K=this.overlay.underlay;if(K&&YAHOO.env.ua.ie){var J=(K.filters&&K.filters.length>0);if(J){B.addClass(E.element,"yui-effect-fade");}}};H.handleUnderlayComplete=function(){var J=this.overlay.underlay;if(J&&YAHOO.env.ua.ie){B.removeClass(E.element,"yui-effect-fade");}};H.handleStartAnimateIn=function(K,J,L){B.addClass(L.overlay.element,"hide-select");if(!L.overlay.underlay){L.overlay.cfg.refireEvent("underlay");}L.handleUnderlayStart();B.setStyle(L.overlay.element,"visibility","visible");B.setStyle(L.overlay.element,"opacity",0);};H.handleCompleteAnimateIn=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateInCompleteEvent.fire();};H.handleStartAnimateOut=function(K,J,L){B.addClass(L.overlay.element,"hide-select");L.handleUnderlayStart();};H.handleCompleteAnimateOut=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}B.setStyle(L.overlay.element,"visibility","hidden");B.setStyle(L.overlay.element,"opacity",1);L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateOutCompleteEvent.fire();};H.init();return H;};A.SLIDE=function(G,I){var F=G.cfg.getProperty("x")||B.getX(G.element),K=G.cfg.getProperty("y")||B.getY(G.element),J=B.getClientWidth(),H=G.element.offsetWidth,E=new A(G,{attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn},{attributes:{points:{to:[(J+25),K]}},duration:I,method:C.easeOut},G.element,YAHOO.util.Motion);E.handleStartAnimateIn=function(M,L,N){N.overlay.element.style.left=((-25)-H)+"px";N.overlay.element.style.top=K+"px";};E.handleTweenAnimateIn=function(O,N,P){var Q=B.getXY(P.overlay.element),M=Q[0],L=Q[1];if(B.getStyle(P.overlay.element,"visibility")=="hidden"&&M<F){B.setStyle(P.overlay.element,"visibility","visible");}P.overlay.cfg.setProperty("xy",[M,L],true);P.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateIn=function(M,L,N){N.overlay.cfg.setProperty("xy",[F,K],true);N.startX=F;N.startY=K;N.overlay.cfg.refireEvent("iframe");N.animateInCompleteEvent.fire();};E.handleStartAnimateOut=function(M,L,P){var N=B.getViewportWidth(),Q=B.getXY(P.overlay.element),O=Q[1];P.animOut.attributes.points.to=[(N+25),O];};E.handleTweenAnimateOut=function(N,M,O){var Q=B.getXY(O.overlay.element),L=Q[0],P=Q[1];O.overlay.cfg.setProperty("xy",[L,P],true);O.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateOut=function(M,L,N){B.setStyle(N.overlay.element,"visibility","hidden");N.overlay.cfg.setProperty("xy",[F,K]);N.animateOutCompleteEvent.fire();};E.init();return E;};A.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=D.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=D.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=D.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=D.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(F,E,G){},handleTweenAnimateIn:function(F,E,G){},handleCompleteAnimateIn:function(F,E,G){},handleStartAnimateOut:function(F,E,G){},handleTweenAnimateOut:function(F,E,G){},handleCompleteAnimateOut:function(F,E,G){},toString:function(){var E="ContainerEffect";if(this.overlay){E+=" ["+this.overlay.toString()+"]";}return E;}};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);})();YAHOO.register("containercore",YAHOO.widget.Module,{version:"2.5.1",build:"984"});
var yui_counter = 0;
ModalDialog = function ModalDialog (div_content_id, style, width, height) {
// width - width of modal dialog
// style - style of fojo frame
yui_counter++;
this.content = (Core.getElementU(div_content_id) ? Core.getText(div_content_id) : div_content_id);
this.width =  (width != null ? width : 0);	// width of dialog
this.height = (height != null ? height : 0);	// height of dialog
this.style = (style ? style : 'note');	// frame style
this.div_id =   div_content_id;	// id of div-container
this.cont_id =  div_content_id+"_dlg";	// id contents (for height change)
this.width_id = div_content_id+"_width";	// id contents and frame (for width change)
this.fojo_id =  "fojo_"+div_content_id;
this.bg_id = "fojo_bg_"+div_content_id;
this.yui_dlg_id = "yui_dlg_"+yui_counter;
this.visible = 0;
this.effect = 'none';//use .setEffect() to set effect
this.is_scroll_on = 0;
this.close_on_esc = 1;
this.topNav_offset = 0;
var this_ref = this;
this.dialog = 0;
this.width =  (width != null ? width : 0);	// width of dialog
this.height = (height != null ? height : 0);	// height of dialog
var m_oMaskTemplate = null;
this.mask = null;
var yui_div_id = "yui_dlg_div"+yui_counter;
var yui_div = null;
this.init = function ModalDialog_init () {
var test_obj = Core.getElementU(div_content_id);
if (!test_obj) {
//put the dialog content into the BODY, so no other elements overlap it
window[this.div_id+'_dialog_onload'] = function dialog_onload() {
if (test_obj && test_obj.parentNode) {
test_obj.parentNode.removeChild(test_obj);
}
Core.flushElementCache();
//document.getElementsByTagName("body")[0].appendChild(test_obj);
};
Core.addEvent(window, 'load', window[this.div_id+'_dialog_onload']);
} else {
test_obj.parentNode.removeChild(test_obj);
}
if (!yui_div) {
yui_div = document.createElement("div");
yui_div.setAttribute("id", yui_div_id);
yui_div.setAttribute("class", "yui-skin-sam");
yui_div.setAttribute("style", "display:none;z-index:99999;position:fixed;top:0px;left:0px;width:100%;height:100%;");
Core.getDocumentBody().insertBefore(yui_div, Core.getDocumentBody().firstChild);
Core.flushElementCache();
ModalDialog_buildMask();
}
this.dialog  = new YAHOO.widget.Overlay(this.yui_dlg_id,
{
fixedcenter: true,
close: false,
draggable: false,
zindex:9999,
modal: true,
visible: false
});
this.setContent(this.content);
this.dialog.render(yui_div);
Core.flushElementCache();
}
this.stackMask = function dialog_stackMask() {
if (this.mask) {
//if (!YAHOO.lang.isUndefined(panelZ) && !isNaN(panelZ)) {
YAHOO.util.Dom.setStyle(this.mask, "zIndex", 9998);
}}
this.showMask = function dialog_showMask() {
if (this.mask) {
YAHOO.util.Dom.addClass(yui_div, "masked");
this.sizeMask();
this.mask.style.display = "block";
}}
this.sizeMask = function dialog_sizeMask() {
if (this.mask) {
this.mask.style.height = YAHOO.util.Dom.getDocumentHeight() + "px";
this.mask.style.width = YAHOO.util.Dom.getDocumentWidth() + "px";
}}
this.hideMask = function dialog_hideMask() {
if (this.mask) {
this.mask.style.display = "none";
YAHOO.util.Dom.removeClass(yui_div, "masked");
}}
this.buildMask = function dialog_buildMask() {
var oMask = this.mask;
if (!oMask) {
if (!m_oMaskTemplate) {
m_oMaskTemplate = document.createElement("div");
m_oMaskTemplate.className = "yui-skin-sammask mask";
m_oMaskTemplate.innerHTML = "&#160;";
}
oMask = m_oMaskTemplate.cloneNode(true);
oMask.id = this.id + "_mask";
yui_div.insertBefore(oMask, yui_div.firstChild);
this.mask = oMask;
if (YAHOO.env.ua.gecko && this.dialog.platform == "mac") {
YAHOO.util.Dom.addClass(this.mask, "block-scrollbars");
}
this.stackMask();
}}
function ModalDialog_buildMask() {
this_ref.buildMask();
}
this.previous_scroll = 0;
this.stayTop = function ModalDialog_stayTop (caller) {
this.sizeMask();
if (!this.dialog || !this.isVisible()) {return;}
if (!this.scrollable_content_id && Core.getElementU('panel_content')) {
this.scrollable_content_id = 'panel_content';
}
dlg_region = YAHOO.util.Dom.getRegion(this.yui_dlg_id);
var bva = Core.getBrowserVisibleArea();
if (bva.height<dlg_region.bottom-dlg_region.top) {
id=document.getElementById(this.scrollable_content_id);
if (!id) return;
content_region = YAHOO.util.Dom.getRegion(this.scrollable_content_id);
id.style.height = (bva.height-(content_region.top-dlg_region.top)-(dlg_region.bottom-content_region.bottom)-20)+"px";
} else {
id=document.getElementById(this.scrollable_content_id);
if (!id) return;
content_region = YAHOO.util.Dom.getRegion(this.scrollable_content_id);
if (id.scrollHeight) {
if (bva.height<(content_region.top-dlg_region.top)+(dlg_region.bottom-content_region.bottom)+id.scrollHeight) {
id.style.height = (bva.height-(content_region.top-dlg_region.top)-(dlg_region.bottom-content_region.bottom)-20)+"px";
} else {
id.style.height = "auto";
}} else {
id.style.height = "auto";
}}
this.dialog.center();
}
function ModalDialog_stayTopRef (obj) {
this_ref.stayTop();
}
YAHOO.util.Event.on(window, 'resize', ModalDialog_stayTopRef);
this.show = function ModalDialog_show () {
Core.showElement(yui_div_id);
this.showMask();
if(!this.is_scroll_on) {
this.last_scroll_y_position = Core.getPageScrollTop();
window.scroll(0, 0);
if (Core.detectBrowser().isIE) {
document.documentElement.style.overflow = "hidden";
} else {
document.body.style.overflow = "hidden";
}}
this.dialog.show();
Core.showElement(this.div_id);
this.visible=1;
//this.dialog.render(yui_div);
this.prev_window_onkeypress = window.onkeypress;
this.onKeyPress = function (e) {
if (!e) var e = window.event;
var code = e.keyCode;
if (this_ref.close_on_esc == 1 && this_ref.isVisible() && code==27) {//ESC
this_ref.onESC();
return false;
}}
Core.addSystemEvent('keypress',  this.onKeyPress);
this.stayTop("e");
this.dialog.center();
this.onShow();
}
this.hide = function ModalDialog_hide () {
this.visible=0;
this.dialog.hide();
this.hideMask();
Core.hideElement(yui_div_id);
Core.removeSystemEvent('keypress', this.onKeyPress);
window.onkeypress = this.prev_window_onkeypress;
if(!this.is_scroll_on) {
if (Core.detectBrowser().isIE) {
document.documentElement.style.overflow = "auto";
} else {
document.body.style.overflow = "auto";
}
window.scroll(0, this.last_scroll_y_position);
}
this.onHide();
}
this.quickHide = function () {
this.hide();
this.visible=0;
}
this.quickShow = function () {
this.show();
this.visible=1;
}
this.setContent = function ModalDialog_setContent (cont) {
var arrayPageSize = Core.getPageSize();
var top_scroll = 0;//FIXME - not appeared yet - this.getTopOffset(Core.getPageScrollTop(), arrayPageSize[3]);
var this_width = (this.width == 0 ? 'auto' : this.width+'px');
var this_height = (this.height == 0 ? 'auto' : this.height+'px');
var bg_width = (this.is_scroll_on || !Core.detectBrowser().isFirefox? arrayPageSize[2]*4 + 'px' : '100%');
var bg_height = (this.is_scroll_on || !Core.detectBrowser().isFirefox? arrayPageSize[1] + 'px' : '100%');
var content_str_fojo_wrap1 =
"<div class='"+this.style+"' id='"+this.fojo_id+"' >"+
"<table class='framewrapper' id='"+this.width_id +
"'"+
" style='margin-left:auto;margin-right: auto; z-index:9999; position:relative;top: "+top_scroll+"px;'>"+
"<tr valign='middle'><td aling='middle'>"+
"<div class='lefttop'></div>"+
"<div class='righttop'></div>"+
"<div class='centertop'></div>"+
"<div id='"+this.cont_id+"' class='blockcontent' style='padding:0px 4px 0 4px; "+
"'>";
var content_str_fojo_wrap2 =
"</div>"+
"<div class='leftbottom'></div>"+
"<div class='rightbottom'></div>"+
"<div class='centerbottom'></div>"+
"</td></tr></table>"+
"</div>"
;
var content_str = content_str_fojo_wrap1 + cont + content_str_fojo_wrap2;
this.dialog.setBody(content_str);
this.dialog.render(yui_div);
Core.flushElementCache();
this.stayTop("e");
this.dialog.center();
}
this.setContent2 = function ModalDialog_setContent2 (id,cont) {
Core.setText(id, cont);
Core.flushElementCache();
this.dialog.render(yui_div);
this.stayTop();
this.dialog.center();
}
this.setClassName = function ModalDialog_setClassName (class_name) {
Core.setClassName(this.width_id, class_name);
Core.flushElementCache();
this.stayTop();
}
this.isVisible = function ModalDialog_isVisible () {
return this.visible ? 1 : 0;
}
this.onESC = this.hide; //function ModalDialog_onCancelDefault() {};//N/A
this.getTopOffset = function ModalDialog_getTopOffset (topYOffset, windowSize) {
var sc = Core.getPageScrollTop();
var fojo = Core.getElementU(this.fojo_id);
var h =  (fojo != null ? fojo.offsetHeight : 0);
var vis_h = Core.getBrowserVisibleArea().height;
if(Core.detectBrowser().isSafari) { vis_h -= this.topNav_offset*0.85;}
var top_scroll = (vis_h - h)/2 + sc;
return Math.round(top_scroll);
}
this.onShow = function ModalDialog_onShowDefault () {};
this.onHiding = function ModalDialog_onHidingDefault () {};
this.onHide = function ModalDialog_onHideDefault () {};
this.init();
}

function advAJAX() {
var obj = new Object();
var url = window.location.href;
if (url.indexOf("#") > -1) {
url = url.substr(0, url.indexOf("#"));
}
obj.url = url;
obj.method = "GET";
obj.parameters = new Object();
obj.headers = new Object();
obj.async = true;
obj.mimeType = "text/xml";
obj.username = null;
obj.password = null;
obj.form = null;
obj.disableForm = true;
obj.unique = true;
obj.uniqueParameter = "_uniqid";
obj.requestDone = false;
obj.queryString = "";
obj.responseText = null;
obj.responseXML = null;
obj.status = null;
obj.statusText = null;
obj.aborted = false;
obj.timeout = 0;
obj.retryCount = 0;
obj.retryDelay = 1000;
obj.tag = null;
obj.group = null;
obj.progressTimerInterval = 50;
obj.xmlHttpRequest = null;
obj.onInitialization = null;
obj.onFinalization = null;
obj.onReadyStateChange = null;
obj.onLoading = null;
obj.onLoaded = null;
obj.onInteractive = null;
obj.onComplete = null;
obj.onProgress = null;
obj.onSuccess = null;
obj.onFatalError = null;
obj.onError = null;
obj.onTimeout = null;
obj.onRetryDelay = null;
obj.onRetry = null;
obj.onGroupEnter = null;
obj.onGroupLeave = null;
obj.createXmlHttpRequest = function() {
if (typeof XMLHttpRequest != "undefined")
return new XMLHttpRequest();
var xhrVersion = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp","Microsoft.XMLHttp" ];
for (var i = 0; i < xhrVersion.length; i++) {
try {
var xhrObj = new ActiveXObject(xhrVersion[i]);
return xhrObj;
} catch (e) {}}
obj.raiseEvent("FatalError");
return null;
};
obj._oldResponseLength = null;
obj._progressTimer = null;
obj._progressStarted = navigator.userAgent.indexOf('Opera') == -1;
obj._onProgress = function() {
if (typeof obj.onProgress == "function" &&
typeof obj.xmlHttpRequest.getResponseHeader == "function") {
var contentLength = obj.xmlHttpRequest.getResponseHeader("Content-length");
if (contentLength != null && contentLength != '') {
var responseLength = obj.xmlHttpRequest.responseText.length;
if (responseLength != obj._oldResponseLength) {
obj.raiseEvent("Progress", obj, responseLength, contentLength);
obj._oldResponseLength = obj.xmlHttpRequest.responseText.length;
}}
}
if (obj._progressStarted) return;
obj._progressStarted = true;
var _obj = this;
this.__onProgress = function() {
obj._onProgress();
obj._progressTimer = window.setTimeout(_obj.__onProgress, obj.progressTimerInterval);
}
_obj.__onProgress();
}
obj._onInitializationHandled = false;
obj._initObject = function() {
if (obj.xmlHttpRequest != null) {
delete obj.xmlHttpRequest["onreadystatechange"];
obj.xmlHttpRequest = null;
}
if ((obj.xmlHttpRequest = obj.createXmlHttpRequest()) == null)
return null;
if (typeof obj.xmlHttpRequest.overrideMimeType != "undefined")
obj.xmlHttpRequest.overrideMimeType(obj.mimeType);
obj.xmlHttpRequest.onreadystatechange = function() {
if (obj == null || obj.xmlHttpRequest == null)
return;
obj.raiseEvent("ReadyStateChange", obj, obj.xmlHttpRequest.readyState);
obj._onProgress();
switch (obj.xmlHttpRequest.readyState) {
case 1: obj._onLoading(); break;
case 2: obj._onLoaded(); break;
case 3: obj._onInteractive(); break;
case 4: obj._onComplete(); break;
}};
obj._onLoadingHandled =
obj._onLoadedHandled =
obj._onInteractiveHandled =
obj._onCompleteHandled = false;
};
obj._onLoading = function() {
if (obj._onLoadingHandled)
return;
if (!obj._retry && obj.group != null) {
if (typeof advAJAX._groupData[obj.group] == "undefined")
advAJAX._groupData[obj.group] = 0;
advAJAX._groupData[obj.group]++;
if (typeof obj.onGroupEnter == "function" && advAJAX._groupData[obj.group] == 1)
obj.onGroupEnter(obj);
}
obj.raiseEvent("Loading", obj);
obj._onLoadingHandled = true;
};
obj._onLoaded = function() {
if (obj._onLoadedHandled)
return;
obj.raiseEvent("Loaded", obj);
obj._onLoadedHandled = true;
};
obj._onInteractive = function() {
if (obj._onInteractiveHandled)
return;
obj.raiseEvent("Interactive", obj);
obj._onInteractiveHandled = true;
if (!obj._progressStarted)
obj._onProgress();
};
obj._onComplete = function() {
if (obj._onCompleteHandled || obj.aborted)
return;
if (obj._progressStarted) {
window.clearInterval(obj._progressTimer);
obj._progressStarted = false;
}
obj.requestDone = true;
with (obj.xmlHttpRequest) {
obj.responseText = responseText;
obj.responseXML = responseXML;
if (typeof status != "undefined")
obj.status = status;
if (typeof statusText != "undefined")
obj.statusText = statusText;
}
obj.raiseEvent("Complete", obj);
obj._onCompleteHandled = true;
if (obj.status == 200)
obj.raiseEvent("Success", obj); else
obj.raiseEvent("Error", obj);
obj.xmlHttpRequest = null;
if (obj.disableForm)
obj.switchForm(true);
obj._groupLeave();
obj.raiseEvent("Finalization", obj);
};
obj._groupLeave = function() {
if (obj.group != null) {
advAJAX._groupData[obj.group]--;
if (advAJAX._groupData[obj.group] == 0)
obj.raiseEvent("GroupLeave", obj);
}};
obj._retry = false;
obj._retryNo = 0;
obj._onTimeout = function() {
if (obj == null || obj.xmlHttpRequest == null || obj._onCompleteHandled)
return;
obj.aborted = true;
obj.xmlHttpRequest.abort();
obj.raiseEvent("Timeout", obj);
obj._retry = true;
if (obj._retryNo != obj.retryCount) {
obj._initObject();
if (obj.retryDelay > 0) {
obj.raiseEvent("RetryDelay", obj);
startTime = new Date().getTime();
while (new Date().getTime() - startTime < obj.retryDelay);
}
obj._retryNo++;
obj.raiseEvent("Retry", obj, obj._retryNo);
obj.run();
} else {
delete obj.xmlHttpRequest["onreadystatechange"];
obj.xmlHttpRequest = null;
if (obj.disableForm)
obj.switchForm(true);
obj._groupLeave();
obj.raiseEvent("Finalization", obj);
}};
obj.run = function() {
obj._initObject();
if (obj.xmlHttpRequest == null)
return false;
obj.aborted = false;
if (!obj._onInitializationHandled) {
obj.raiseEvent("Initialization", obj);
obj._onInitializationHandled = true;
}
if (obj.method == "GET" && obj.unique)
obj.parameters[encodeURIComponent(obj.uniqueParameter)] =
new Date().getTime().toString().substr(5) + Math.floor(Math.random() * 100).toString();
if (!obj._retry) {
for (var a in obj.parameters) {
if (obj.queryString.length > 0)
obj.queryString += "&";
if (typeof obj.parameters[a] == "string")
obj.queryString += encodeURIComponent(a) + "=" + encodeURIComponent(obj.parameters[a]); else {
for (var i = 0; i < obj.parameters[a].length; i++)
obj.queryString += encodeURIComponent(a) + "=" + encodeURIComponent(obj.parameters[a][i]) + "&";
obj.queryString = obj.queryString.slice(0, -1);
}}
if (obj.method == "GET" && obj.queryString.length > 0)
obj.url += (obj.url.indexOf("?") != -1 ? "&" : "?") + obj.queryString;
}
if (obj.disableForm)
obj.switchForm(false);
try {
obj.xmlHttpRequest.open(obj.method, obj.url, obj.async, obj.username || '', obj.password || '');
} catch (e) {
obj.raiseEvent("FatalError", obj, e);
return;
}
if (obj.timeout > 0)
setTimeout(obj._onTimeout, obj.timeout);
if (typeof obj.xmlHttpRequest.setRequestHeader != "undefined")
for (var a in obj.headers)
obj.xmlHttpRequest.setRequestHeader(encodeURIComponent(a), encodeURIComponent(obj.headers[a]));
if (obj.method == "POST" && typeof obj.xmlHttpRequest.setRequestHeader != "undefined") {
obj.xmlHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
obj.xmlHttpRequest.send(obj.queryString);
} else if (obj.method == "GET")
obj.xmlHttpRequest.send(null);
};
obj.handleArguments = function(args) {
if (typeof args.form == "object" && args.form != null) {
obj.form = args.form;
obj.appendForm();
}
for (a in args) {
if (typeof obj[a] == "undefined")
obj.parameters[a] = args[a]; else {
if (a != "parameters" && a != "headers")
obj[a] = args[a]; else
for (b in args[a])
obj[a][b] = args[a][b];
}}
obj.method = obj.method.toUpperCase();
};
obj.switchForm = function(enable) {
if (typeof obj.form != "object" || obj.form == null)
return;
with (obj.form)
for (var nr = 0; nr < elements.length; nr++)
if (!enable) {
if (elements[nr]["disabled"])
elements[nr]["_disabled"] = true; else
elements[nr]["disabled"] = "disabled";
} else
if (typeof elements[nr]["_disabled"] == "undefined")
elements[nr].removeAttribute("disabled");
};
obj.appendForm = function() {
with (obj.form) {
obj.method = getAttribute("method").toUpperCase();
obj.url = getAttribute("action");
for (var nr = 0; nr < elements.length; nr++) {
var e = elements[nr];
if (e.disabled)
continue;
switch (e.type) {
case "text":
case "password":
case "hidden":
case "textarea":
obj.addParameter(e.name, e.value);
break;
case "select-one":
if (e.selectedIndex >= 0)
obj.addParameter(e.name, e.options[e.selectedIndex].value);
break;
case "select-multiple":
for (var nr2 = 0; nr2 < e.options.length; nr2++)
if (e.options[nr2].selected)
obj.addParameter(e.name, e.options[nr2].value);
break;
case "checkbox":
case "radio":
if (e.checked)
obj.addParameter(e.name, e.value);
break;
}}
}};
obj.addParameter = function(name, value) {
if (name) {
if (typeof obj.parameters[name] == "undefined")
obj.parameters[name] = value; else
if (typeof obj.parameters[name] == "string")
obj.parameters[name] = [ obj.parameters[name], value ]; else
obj.parameters[name][obj.parameters[name].length] = value;
}};
obj.delParameter = function(name) {
delete obj.parameters[name];
};
obj.raiseEvent = function(name) {
var args = [];
for (var i = 1; i < arguments.length; i++)
args.push(arguments[i]);
if (typeof obj["on" + name] == "function")
obj["on" + name].apply(null, args);
if (name == "FatalError")
obj.raiseEvent("Finalization", obj);
}
if (typeof advAJAX._defaultParameters != "undefined")
obj.handleArguments(advAJAX._defaultParameters);
return obj;
}
advAJAX.get = function(args) {
return advAJAX.handleRequest("GET", args);
};
advAJAX.post = function(args) {
return advAJAX.handleRequest("POST", args);
};
advAJAX.head = function(args) {
return advAJAX.handleRequest("HEAD", args);
};
advAJAX.submit = function(form, args) {
if (typeof args == "undefined" || args == null)
return -1;
if (typeof form != "object" || form == null)
return -2;
var request = new advAJAX();
args["form"] = form;
request.handleArguments(args);
return request.run();
};
advAJAX.assign = function(form, args) {
if (typeof args == "undefined" || args == null)
return -1;
if (typeof form != "object" || form == null)
return -2;
if (typeof form["onsubmit"] == "function")
form["_onsubmit"] = form["onsubmit"];
form["advajax_args"] = args;
form["onsubmit"] = function() {
if (typeof this["_onsubmit"] != "undefined" && this["_onsubmit"]() === false)
return false;
if (advAJAX.submit(this, this["advajax_args"]) == false)
return true;
return false;
}
return true;
};
advAJAX.download = function(targetObj, url) {
if (typeof targetObj == "string")
targetObj = document.getElementById(targetObj);
if (!targetObj)
return -1;
advAJAX.get({
url: url,
onSuccess : function(obj) {
targetObj.innerHTML = obj.responseText;
}});
};
advAJAX.scan = function() {
var obj = document.getElementsByTagName("a");
for (var i = 0; i < obj.length;) {
if (obj[i].getAttribute("rel") == "advancedajax" && obj[i].getAttribute("href") !== null) {
var url = obj[i].getAttribute("href");
var div = document.createElement("div");
div.innerHTML = obj[i].innerHTML;
div.className = obj[i].className;
var parent = obj[i].parentNode;
parent.insertBefore(div, obj[i]);
parent.removeChild(obj[i]);
advAJAX.download(div, url);
} else i++;
}};
advAJAX.handleRequest = function(requestType, args) {
if (typeof args == "undefined" || args == null)
return -1;
var request = new advAJAX();
window.advajax_obj = request;
request.method = requestType;
request.handleArguments(args);
return request.run();
};
advAJAX._defaultParameters = new Object();
advAJAX.setDefaultParameters = function(args) {
advAJAX._defaultParameters = new Object();
for (a in args)
advAJAX._defaultParameters[a] = args[a];
};
advAJAX._groupData = new Object();
function pause(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}}

