this.flag = 0; this.roomFlag = 0; this.dateArray = new Array(); function positionInfo(object) { var p_elm = object; this.getElementLeft = getElementLeft; function getElementLeft() { var x = 0; var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } while (elm != null) { x+= elm.offsetLeft; elm = elm.offsetParent; } return parseInt(x); } this.getElementWidth = getElementWidth; function getElementWidth(){ var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } return parseInt(elm.offsetWidth); } this.getElementRight = getElementRight; function getElementRight(){ return getElementLeft(p_elm) + getElementWidth(p_elm); } this.getElementTop = getElementTop; function getElementTop() { var y = 0; var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } while (elm != null) { y+= elm.offsetTop; elm = elm.offsetParent; } return parseInt(y); } this.getElementHeight = getElementHeight; function getElementHeight(){ var elm; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } return parseInt(elm.offsetHeight); } this.getElementBottom = getElementBottom; function getElementBottom(){ return getElementTop(p_elm) + getElementHeight(p_elm); } } function CalendarControl() { var calendarId = 'CalendarControl'; var currentYear = 0; var currentMonth = 0; var currentDay = 0; var selectedYear = 0; var selectedMonth = 0; var selectedDay = 0; var months = ['January','February','March','April','May','June','July','August','September','October','November','December']; var dateField = null; function getProperty(p_property){ var p_elm = calendarId; var elm = null; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } if (elm != null){ if(elm.style){ elm = elm.style; if(elm[p_property]){ return elm[p_property]; } else { return null; } } else { return null; } } } function setElementProperty(p_property, p_value, p_elmId){ var p_elm = p_elmId; var elm = null; if(typeof(p_elm) == "object"){ elm = p_elm; } else { elm = document.getElementById(p_elm); } if((elm != null) && (elm.style != null)){ elm = elm.style; elm[ p_property ] = p_value; } } function setProperty(p_property, p_value) { setElementProperty(p_property, p_value, calendarId); } this.getDaysInMonth = getDaysInMonth; function getDaysInMonth(year, month) { return [31,((!(year % 4 ) && ( (year % 100 ) || !( year % 400 ) ))?29:28),31,30,31,30,31,31,30,31,30,31][month-1]; } this.getDayOfWeek = getDayOfWeek; function getDayOfWeek(year, month, day) { var date = new Date(year,month-1,day) return date.getDay(); } this.clearDate = clearDate; function clearDate() { dateField.value = ''; hide(); } this.setDate = setDate; function setDate(year, month, day) { if (dateField) { if (month < 10) {month = "0" + month;} if (day < 10) {day = "0" + day;} var dateString = year+"-"+month+"-"+day; dateField.value = dateString; hide(); } return; } this.changeMonth = changeMonth; function changeMonth(change) { currentMonth += change; currentDay = 0; if(currentMonth > 12) { currentMonth = 1; currentYear++; } else if(currentMonth < 1) { currentMonth = 12; currentYear--; } calendar = document.getElementById(calendarId); calendar.innerHTML = calendarDrawTable(); if(flag == 1){ var year = calendarControl.getCurrentYear(); var month = calendarControl.getCurrentMonth(); if(currentYear == year){ document.getElementById("yearLessThan").style.display="none"; if(month>=currentMonth){ document.getElementById("monthLessThan").style.display="none"; }else if(month year){ document.getElementById("monthLessThan").style.display=""; document.getElementById("yearLessThan").style.display=""; } setDatesInCalender(currentYear,currentMonth); } } this.changeYear = changeYear; function changeYear(change) { currentYear += change; currentDay = 0; calendar = document.getElementById(calendarId); calendar.innerHTML = calendarDrawTable(); if(flag == 1){ var year = calendarControl.getCurrentYear(); if(year"; table = table + " < «"; table = table + " " + months[currentMonth-1] + "
" + currentYear + ""; table = table + " » >"; table = table + ""; table = table + "SMTWTFS"; for(var week=0; week < 6; week++) { table = table + ""; for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) { if(week == 0 && startDayOfWeek == dayOfWeek) { validDay = 1; } else if (validDay == 1 && dayOfMonth > daysInMonth) { validDay = 0; } if(validDay) { if (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth) { css_class = 'current'; } else if (dayOfWeek == 0 || dayOfWeek == 6) { css_class = 'weekend'; } else { css_class = 'weekday'; } var month = currentMonth; if (month < 10) {month = "0" + Number(month);} var day = dayOfMonth; if (day < 10) {day = "0" + Number(day);} table = table + ""+dayOfMonth+""; dayOfMonth++; } else { table = table + " "; } } table = table + ""; } table = table + "Clear | Close"; table = table + ""; return table; } this.show = show; function show(field) { can_hide = 0; // If the calendar is visible and associated with // this field do not do anything. if(roomFlag == 0){ if (dateField == field) { return; } else { dateField = field; } if(dateField) { try { var dateString = new String(dateField.value); var dateParts = dateString.split("-"); selectedYear = parseInt(dateParts[0],10); selectedMonth = parseInt(dateParts[1],10); selectedDay = parseInt(dateParts[2],10); } catch(e) {} } if (!(selectedYear && selectedMonth && selectedDay)) { selectedMonth = getCurrentMonth(); selectedDay = getCurrentDay(); selectedYear = getCurrentYear(); } }else{ dateField = field; selectedMonth = getCurrentMonth(); selectedDay = getCurrentDay(); selectedYear = getCurrentYear(); } currentMonth = selectedMonth; currentDay = selectedDay; currentYear = selectedYear; if(document.getElementById){ calendar = document.getElementById(calendarId); calendar.innerHTML = calendarDrawTable(currentYear, currentMonth); if(flag == 1){ if(getCurrentYear() d2.getTime() ) return 1; else return 0; } } function setCalendarControlDate(year, month, day) { if(this.flag == 1){ var currentDate = calendarControl.getCurrentYear()+"-"+(calendarControl.getCurrentMonth())+"-"+calendarControl.getCurrentDay(); var compareDate = isEqualJSDates(year+"-"+month+"-"+day,currentDate); if(compareDate == 0){ alert("Check In date should be greater or equal date than current date"); return; } } calendarControl.setDate(year, month, day); } function changeCalendarControlYear(change) { calendarControl.changeYear(change); } function changeCalendarControlMonth(change) { calendarControl.changeMonth(change); } function setDates(field) { var list1 = field.value.split('-'); currentYear = list1[0]; currentMonth = list1[1]; setDatesInCalender(currentYear,currentMonth); } function setAvailableRooms(dates) { dateArray = dates; currentYear = calendarControl.getCurrentYear(); currentMonth = calendarControl.getCurrentMonth(); setDatesInCalender(currentYear,currentMonth); } this.setDatesInCalender = setDatesInCalender; function setDatesInCalender(currentYear,currentMonth){ var dayOfMonth = 1; var validDay = 0; var startDayOfWeek =calendarControl.getDayOfWeek(currentYear, currentMonth, dayOfMonth); var daysInMonth =calendarControl.getDaysInMonth(currentYear, currentMonth); var css_class = null; //CSS class for each day for(var week=0; week < 6; week++) { for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) { if(week == 0 && startDayOfWeek == dayOfWeek) { validDay = 1; } else if (validDay == 1 && dayOfMonth > daysInMonth) { validDay = 0; } if(validDay) { if(currentMonth<10){ currentMonth = "0"+Number(currentMonth); } if(dayOfMonth < 10){ dayOfMonth = "0"+Number(dayOfMonth); } var id = currentYear+'_'+currentMonth+'_'+dayOfMonth; var rowObj = document.getElementById(id); if(roomFlag == 1){ for(var i=0;i"; rowObj.href="#"; } dayOfMonth++; } else { continue; } } } } function setAvailableRooms(dates) { dateArray = dates; currentYear = calendarControl.getCurrentYear(); currentMonth = calendarControl.getCurrentMonth(); setDatesInCalender(currentYear,currentMonth); } document.write(""); document.write("
"); function buttonOverChange(id) { document.getElementById(id).style.background = '#fc3d32'; document.getElementById(id).style.color = '#ffffff'; } function buttonOutChange(id) { document.getElementById(id).style.background = '#ffedec'; document.getElementById(id).style.color = '#000000'; } function show(id) { document.getElementById(id).style.display = ''; } function hide(id) { document.getElementById(id).style.display = 'none'; } function getValue(Id) { return (document.getElementById(Id).value) } function getInnerHTML(Id) { return (document.getElementById(Id).innerHTML) } function replaceInXML(string,text,by) { var stringLength = string.length var textLength = text.length; if ((stringLength == 0) || (textLength == 0)) return string; var i = string.indexOf(text); if ((!i) && (text != string.substring(0,textLength))) return string; if (i == -1) return string; var newstr = string.substring(0,i) + by; if ( (i+textLength) < stringLength) newstr += replaceInXML(string.substring(i+textLength,stringLength),text,by); return newstr; } function encodeTextContent(text) { text = replaceInXML(text,"&","&"); text = replaceInXML(text,"<","<"); text = replaceInXML(text,">",">"); text = replaceInXML(text,"\n","
"); return text; } function decodeTextContent(text) { text = replaceInXML(text,"&","&"); text = replaceInXML(text,"<","<"); text = replaceInXML(text,">",">"); text = replaceInXML(text,"
","\n"); return text; } function getTotalRoom(noOfRooms, noOfGuests) { var result ="" if(noOfRooms > noOfGuests) { result = noOfRooms +" Single(s)" }else if(noOfRooms == 1 && noOfGuests == 2) { result = "1 Double(s)" }else if(noOfRooms == 1 && noOfGuests == 1) { result = "1 Single(s)" }else{ var doubleRoom = Number(noOfGuests) % Number(noOfRooms); var singleRoom = Number(noOfRooms) - Number(doubleRoom); if(doubleRoom == 0) { result = singleRoom +" Single(s)" }else if(singleRoom == 0) { result = doubleRoom+" Double(s)" }else{ result = doubleRoom+" Double(s) and "+singleRoom +" Single(s)" } } return result } function getTotalDoubleRoom(noOfRooms, noOfGuests) { if(noOfRooms > noOfGuests) { return 0 }else if(noOfRooms == 1 && noOfGuests == 2) { return 1 }else if(noOfRooms == noOfGuests ) { return 0 }else{ var doubleRoom = Number(noOfGuests) % Number(noOfRooms); return doubleRoom } } function getTotalSingleRoom(noOfRooms, noOfGuests) { if(noOfRooms > noOfGuests) { return noOfRooms }else if(noOfRooms == 1 && noOfGuests == 2) { return 0 }else if(noOfRooms == 1 && noOfGuests == 1) { return 1 }else{ var doubleRoom = Number(noOfGuests) % Number(noOfRooms); var singleRoom = Number(noOfRooms) - Number(doubleRoom); return singleRoom } } function getTotalRent (noOfRooms, noOfGuests, singleRent, doubleRent) { var result = "" if(getTotalDoubleRoom(noOfRooms, noOfGuests)> 0 && getTotalSingleRoom(noOfRooms, noOfGuests)==0) { result = doubleRent }else if(getTotalDoubleRoom(noOfRooms, noOfGuests)== 0 && getTotalSingleRoom(noOfRooms, noOfGuests)>0) { result = singleRent }else{ result = doubleRent +" (Double) and "+ singleRent +" (Single)" } return result; } function getGrandTotalRent (duration,noOfRooms, noOfGuests, singleRent, doubleRent) { var result = "" var doubleRoom = getTotalDoubleRoom(noOfRooms, noOfGuests) var singleRoom = getTotalSingleRoom(noOfRooms, noOfGuests) result = (Number(duration)*Number(doubleRoom)*Number(doubleRent)) +(Number(duration)*Number(singleRoom)*Number(singleRent)) return result; } function getTotalRentPerDay (noOfRooms, noOfGuests, singleRent, doubleRent) { var result = "" var doubleRoom = getTotalDoubleRoom(noOfRooms, noOfGuests) var singleRoom = getTotalSingleRoom(noOfRooms, noOfGuests) result = (Number(doubleRoom)*Number(doubleRent)) +(Number(singleRoom)*Number(singleRent)) return result; } /*********************************************** * Drop Down Date select script- by JavaScriptKit.com * This notice MUST stay intact for use * Visit JavaScript Kit at http://www.javascriptkit.com/ for this script and more ***********************************************/ var monthtext=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec']; function populatedropdown(dayfield, monthfield, yearfield, noofdays){ var today=new Date(); today.setDate(today.getDate()+noofdays); var noofdays=parseInt(noofdays); var dayfield=document.getElementById(dayfield); var monthfield=document.getElementById(monthfield); var yearfield=document.getElementById(yearfield); for (var i=0; i<31; i++) dayfield.options[i]=new Option(i+1, i+1) dayfield.options[today.getDate()-1]=new Option(today.getDate(), today.getDate(), true, true) //select today's day for (var m=0; m<12; m++) monthfield.options[m]=new Option(monthtext[m], m+1) monthfield.options[today.getMonth()]=new Option(monthtext[today.getMonth()], today.getMonth()+1, true, true) //select today's month var thisyear=today.getFullYear() for (var y=0; y<20; y++){ yearfield.options[y]=new Option(thisyear, thisyear) thisyear+=1 } yearfield.options[0]=new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year } /* ------------------------------------------------------------------------- JavaScript Form Validator (gen_validatorv31.js) Version 3.1.1 Copyright (C) 2003-2008 JavaScript-Coder.com. All rights reserved. You can freely use this script in your Web pages. You may adapt this script for your own needs, provided these opening credit lines are kept intact. The Form validation script is distributed free from JavaScript-Coder.com For updates, please visit: http://www.javascript-coder.com/html-form/javascript-form-validation.phtml Questions & comments please send to form.val at javascript-coder.com ------------------------------------------------------------------------- */ function Validator(frmname) { this.formobj=document.forms[frmname]; if(!this.formobj) { alert("Error: couldnot get Form object "+frmname); return; } if(this.formobj.onsubmit) { this.formobj.old_onsubmit = this.formobj.onsubmit; this.formobj.onsubmit=null; } else { this.formobj.old_onsubmit = null; } this.formobj._sfm_form_name=frmname; this.formobj.onsubmit=form_submit_handler; this.addValidation = add_validation; this.setAddnlValidationFunction=set_addnl_vfunction; this.clearAllValidations = clear_all_validations; this.disable_validations = false;//new document.error_disp_handler = new sfm_ErrorDisplayHandler(); this.EnableOnPageErrorDisplay=validator_enable_OPED; this.EnableOnPageErrorDisplaySingleBox=validator_enable_OPED_SB; this.show_errors_together=true; this.EnableMsgsTogether=sfm_enable_show_msgs_together; } function set_addnl_vfunction(functionname) { this.formobj.addnlvalidation = functionname; } function sfm_enable_show_msgs_together() { this.show_errors_together=true; this.formobj.show_errors_together=true; } function clear_all_validations() { for(var itr=0;itr < this.formobj.elements.length;itr++) { this.formobj.elements[itr].validationset = null; } } function form_submit_handler() { var bRet = true; document.error_disp_handler.clear_msgs(); for(var itr=0;itr < this.elements.length;itr++) { if(this.elements[itr].validationset && !this.elements[itr].validationset.validate()) { bRet = false; } if(!bRet && !this.show_errors_together) { break; } } if(!bRet) { document.error_disp_handler.FinalShowMsg(); return false; } if(this.addnlvalidation) { str =" var ret = "+this.addnlvalidation+"()"; eval(str); if(!ret) return ret; } return true; } function add_validation(itemname,descriptor,errstr) { var condition = null; if(arguments.length > 3) { condition = arguments[3]; } if(!this.formobj) { alert("Error: The form object is not set properly"); return; }//if var itemobj = this.formobj[itemname]; if(itemobj.length && isNaN(itemobj.selectedIndex) ) //for radio button; don't do for 'select' item { itemobj = itemobj[0]; } if(!itemobj) { alert("Error: Couldnot get the input object named: "+itemname); return; } if(!itemobj.validationset) { itemobj.validationset = new ValidationSet(itemobj,this.show_errors_together); } itemobj.validationset.add(descriptor,errstr,condition); itemobj.validatorobj=this; } function validator_enable_OPED() { document.error_disp_handler.EnableOnPageDisplay(false); } function validator_enable_OPED_SB() { document.error_disp_handler.EnableOnPageDisplay(true); } function sfm_ErrorDisplayHandler() { this.msgdisplay = new AlertMsgDisplayer(); this.EnableOnPageDisplay= edh_EnableOnPageDisplay; this.ShowMsg=edh_ShowMsg; this.FinalShowMsg=edh_FinalShowMsg; this.all_msgs=new Array(); this.clear_msgs=edh_clear_msgs; } function edh_clear_msgs() { this.msgdisplay.clearmsg(this.all_msgs); this.all_msgs = new Array(); } function edh_FinalShowMsg() { this.msgdisplay.showmsg(this.all_msgs); } function edh_EnableOnPageDisplay(single_box) { if(true == single_box) { this.msgdisplay = new SingleBoxErrorDisplay(); } else { this.msgdisplay = new DivMsgDisplayer(); } } function edh_ShowMsg(msg,input_element) { var objmsg = new Array(); objmsg["input_element"] = input_element; objmsg["msg"] = msg; this.all_msgs.push(objmsg); } function AlertMsgDisplayer() { this.showmsg = alert_showmsg; this.clearmsg=alert_clearmsg; } function alert_clearmsg(msgs) { } function alert_showmsg(msgs) { var whole_msg=""; var first_elmnt=null; for(var m=0;m < msgs.length;m++) { if(null == first_elmnt) { first_elmnt = msgs[m]["input_element"]; } whole_msg += msgs[m]["msg"] + "\n"; } alert(whole_msg); if(null != first_elmnt) { first_elmnt.focus(); } } function sfm_show_error_msg(msg,input_elmt) { document.error_disp_handler.ShowMsg(msg,input_elmt); } function SingleBoxErrorDisplay() { this.showmsg=sb_div_showmsg; this.clearmsg=sb_div_clearmsg; } function sb_div_clearmsg(msgs) { var divname = form_error_div_name(msgs); show_div_msg(divname,""); } function sb_div_showmsg(msgs) { var whole_msg="
    \n"; for(var m=0;m < msgs.length;m++) { whole_msg += "
  • " + msgs[m]["msg"] + "
  • \n"; } whole_msg += "
"; var divname = form_error_div_name(msgs); show_div_msg(divname,whole_msg); } function form_error_div_name(msgs) { var input_element= null; for(var m in msgs) { input_element = msgs[m]["input_element"]; if(input_element){break;} } var divname =""; if(input_element) { divname = input_element.form._sfm_form_name + "_errorloc"; } return divname; } function DivMsgDisplayer() { this.showmsg=div_showmsg; this.clearmsg=div_clearmsg; } function div_clearmsg(msgs) { for(var m in msgs) { var divname = element_div_name(msgs[m]["input_element"]); show_div_msg(divname,""); } } function element_div_name(input_element) { var divname = input_element.form._sfm_form_name + "_" + input_element.name + "_errorloc"; divname = divname.replace(/[\[\]]/gi,""); return divname; } function div_showmsg(msgs) { var whole_msg; var first_elmnt=null; for(var m in msgs) { if(null == first_elmnt) { first_elmnt = msgs[m]["input_element"]; } var divname = element_div_name(msgs[m]["input_element"]); show_div_msg(divname,msgs[m]["msg"]); } if(null != first_elmnt) { first_elmnt.focus(); } } function show_div_msg(divname,msgstring) { if(divname.length<=0) return false; if(document.layers) { divlayer = document.layers[divname]; if(!divlayer){return;} divlayer.document.open(); divlayer.document.write(msgstring); divlayer.document.close(); } else if(document.all) { divlayer = document.all[divname]; if(!divlayer){return;} divlayer.innerHTML=msgstring; } else if(document.getElementById) { divlayer = document.getElementById(divname); if(!divlayer){return;} divlayer.innerHTML =msgstring; } divlayer.style.visibility="visible"; return false; } function ValidationDesc(inputitem,desc,error,condition) { this.desc=desc; this.error=error; this.itemobj = inputitem; this.condition = condition; this.validate=vdesc_validate; } function vdesc_validate() { if(this.condition != null ) { if(!eval(this.condition)) { return true; } } if(!validateInput(this.desc,this.itemobj,this.error)) { this.itemobj.validatorobj.disable_validations=true; this.itemobj.focus(); return false; } return true; } function ValidationSet(inputitem,msgs_together) { this.vSet=new Array(); this.add= add_validationdesc; this.validate= vset_validate; this.itemobj = inputitem; this.msgs_together = msgs_together; } function add_validationdesc(desc,error,condition) { this.vSet[this.vSet.length]= new ValidationDesc(this.itemobj,desc,error,condition); } function vset_validate() { var bRet = true; for(var itr=0;itr= 0) { if(objcheck[idxchk].checked=="1") { selected=true; } }//if } else { if(objValue.checked == "1") { selected=true; }//if }//else return selected; } function IsDropdownSelected(objValue,chkValue) { var selected=false; var objcheck = objValue.form.elements[objValue.name]; if(objcheck.value != -1){ selected = true; } return selected; } function TestDontSelectChk(objValue,chkValue,strError) { var pass = true; pass = IsCheckSelected(objValue,chkValue)?false:true; if(pass==false) { if(!strError || strError.length ==0) { strError = "Can't Proceed as you selected "+objValue.name; }//if sfm_show_error_msg(strError,objValue); } return pass; } function TestShouldSelectChk(objValue,chkValue,strError) { var pass = true; pass = IsCheckSelected(objValue,chkValue)?true:false; if(pass==false) { if(!strError || strError.length ==0) { strError = "You should select "+objValue.name; }//if sfm_show_error_msg(strError,objValue); } return pass; } function TestShouldSelectDropdown(objValue,chkValue,strError) { var pass = true; pass = IsDropdownSelected(objValue,chkValue)?true:false; if(pass==false) { if(!strError || strError.length ==0) { strError = "You should select "+objValue.name; }//if sfm_show_error_msg(strError,objValue); } return pass; } function TestRequiredInput(objValue,strError) { var ret = true; var val = objValue.value; val = val.replace(/^\s+|\s+$/g,"");//trim if(eval(val.length) == 0) { if(!strError || strError.length ==0) { strError = objValue.name + " : Required Field"; }//if sfm_show_error_msg(strError,objValue); ret=false; }//if return ret; } function TestMaxLen(objValue,strMaxLen,strError) { var ret = true; if(eval(objValue.value.length) > eval(strMaxLen)) { if(!strError || strError.length ==0) { strError = objValue.name + " : "+ strMaxLen +" characters maximum "; }//if sfm_show_error_msg(strError,objValue); ret = false; }//if return ret; } function TestMinLen(objValue,strMinLen,strError) { var ret = true; if(eval(objValue.value.length) < eval(strMinLen)) { if(!strError || strError.length ==0) { strError = objValue.name + " : " + strMinLen + " characters minimum "; }//if sfm_show_error_msg(strError,objValue); ret = false; }//if return ret; } function TestInputType(objValue,strRegExp,strError,strDefaultError) { var ret = true; var charpos = objValue.value.search(strRegExp); if(objValue.value.length > 0 && charpos >= 0) { if(!strError || strError.length ==0) { strError = strDefaultError; }//if sfm_show_error_msg(strError,objValue); ret = false; }//if return ret; } function TestEmail(objValue,strError) { var ret = true; if(objValue.value.length > 0 && !validateEmail(objValue.value) ) { if(!strError || strError.length ==0) { strError = objValue.name+": Enter a valid Email address "; }//if sfm_show_error_msg(strError,objValue); ret = false; }//if return ret; } function TestLessThan(objValue,strLessThan,strError) { var ret = true; if(isNaN(objValue.value)) { sfm_show_error_msg(objValue.name +": Should be a number ",objValue); ret = false; }//if else if(eval(objValue.value) >= eval(strLessThan)) { if(!strError || strError.length ==0) { strError = objValue.name + " : value should be less than "+ strLessThan; }//if sfm_show_error_msg(strError,objValue); ret = false; }//if return ret; } function TestGreaterThan(objValue,strGreaterThan,strError) { var ret = true; if(isNaN(objValue.value)) { sfm_show_error_msg(objValue.name+": Should be a number ",objValue); ret = false; }//if else if(eval(objValue.value) <= eval(strGreaterThan)) { if(!strError || strError.length ==0) { strError = objValue.name + " : value should be greater than "+ strGreaterThan; }//if sfm_show_error_msg(strError,objValue); ret = false; }//if return ret; } function TestRegExp(objValue,strRegExp,strError) { var ret = true; if( objValue.value.length > 0 && !objValue.value.match(strRegExp) ) { if(!strError || strError.length ==0) { strError = objValue.name+": Invalid characters found "; }//if sfm_show_error_msg(strError,objValue); ret = false; }//if return ret; } function TestDontSelect(objValue,dont_sel_index,strError) { var ret = true; if(objValue.selectedIndex == null) { sfm_show_error_msg("ERROR: dontselect command for non-select Item"); ret = false; } if(objValue.selectedIndex == eval(dont_sel_index)) { if(!strError || strError.length ==0) { strError = objValue.name+": Please Select one option "; }//if sfm_show_error_msg(strError,objValue); ret = false; } return ret; } function TestSelectOneRadio(objValue,strError) { var objradio = objValue.form.elements[objValue.name]; var one_selected=false; for(var r=0;r < objradio.length;r++) { if(objradio[r].checked) { one_selected=true; break; } } if(false == one_selected) { if(!strError || strError.length ==0) { strError = "Please select one option from "+objValue.name; } sfm_show_error_msg(strError,objValue); } return one_selected; } function validateInput(strValidateStr,objValue,strError) { var ret = true; var epos = strValidateStr.search("="); var command = ""; var cmdvalue = ""; if(epos >= 0) { command = strValidateStr.substring(0,epos); cmdvalue = strValidateStr.substr(epos+1); } else { command = strValidateStr; } switch(command) { case "req": case "required": { ret = TestRequiredInput(objValue,strError) break; }//case required case "maxlength": case "maxlen": { ret = TestMaxLen(objValue,cmdvalue,strError) break; }//case maxlen case "minlength": case "minlen": { ret = TestMinLen(objValue,cmdvalue,strError) break; }//case minlen case "alnum": case "alphanumeric": { ret = TestInputType(objValue,"[^A-Za-z0-9]",strError, objValue.name+": Only alpha-numeric characters allowed "); break; } case "alnum_s": case "alphanumeric_space": { ret = TestInputType(objValue,"[^A-Za-z0-9\\s]",strError, objValue.name+": Only alpha-numeric characters and space allowed "); break; } case "num": case "numeric": { ret = TestInputType(objValue,"[^0-9]",strError, objValue.name+": Only digits allowed "); break; } case "dec": case "decimal": { ret = TestInputType(objValue,"[^0-9\.]",strError, objValue.name+": Only numbers allowed "); break; } case "alphabetic": case "alpha": { ret = TestInputType(objValue,"[^A-Za-z]",strError, objValue.name+": Only alphabetic characters allowed "); break; } case "alphabetic_space": case "alpha_s": { ret = TestInputType(objValue,"[^A-Za-z\\s]",strError, objValue.name+": Only alphabetic characters and space allowed "); break; } case "email": { ret = TestEmail(objValue,strError); break; } case "lt": case "lessthan": { ret = TestLessThan(objValue,cmdvalue,strError); break; } case "gt": case "greaterthan": { ret = TestGreaterThan(objValue,cmdvalue,strError); break; }//case greaterthan case "regexp": { ret = TestRegExp(objValue,cmdvalue,strError); break; } case "dontselect": { ret = TestDontSelect(objValue,cmdvalue,strError) break; } case "dontselectchk": { ret = TestDontSelectChk(objValue,cmdvalue,strError) break; } case "shouldselchk": { ret = TestShouldSelectChk(objValue,cmdvalue,strError) break; } case "selone_radio": { ret = TestSelectOneRadio(objValue,strError); break; }case "shouldselDropdown": { ret = TestShouldSelectDropdown(objValue,cmdvalue,strError) break; } }//switch return ret; } function VWZ_IsListItemSelected(listname,value) { for(var i=0;i < listname.options.length;i++) { if(listname.options[i].selected == true && listname.options[i].value == value) { return true; } } return false; } function VWZ_IsChecked(objcheck,value) { if(objcheck.length) { for(var c=0;c < objcheck.length;c++) { if(objcheck[c].checked == "1" && objcheck[c].value == value) { return true; } } } else { if(objcheck.checked == "1" ) { return true; } } return false; } /* Copyright (C) 2003-2008 JavaScript-Coder.com . All rights reserved. */ function Pager(tableName, itemsPerPage) { this.tableName = tableName; this.itemsPerPage = itemsPerPage; this.currentPage = 1; this.pages = 0; this.inited = false; this.showRecords = function(from, to) { var rows = document.getElementById(tableName).rows; // i starts from 1 to skip table header row for (var i = 1; i < rows.length; i++) { if (i < from || i > to) rows[i].style.display = 'none'; else rows[i].style.display = ''; } } this.showPage = function(pageNumber) { if (! this.inited) { alert("not inited"); return; } var oldPageAnchor = document.getElementById('pg'+this.currentPage); oldPageAnchor.className = 'pg-normal'; this.currentPage = pageNumber; var newPageAnchor = document.getElementById('pg'+this.currentPage); newPageAnchor.className = 'pg-selected'; var from = (pageNumber - 1) * itemsPerPage + 1; var to = from + itemsPerPage - 1; this.showRecords(from, to); } this.prev = function() { if (this.currentPage > 1) this.showPage(this.currentPage - 1); } this.next = function() { if (this.currentPage < this.pages) { this.showPage(this.currentPage + 1); } } this.init = function() { var rows = document.getElementById(tableName).rows; var records = (rows.length - 1); this.pages = Math.ceil(records / itemsPerPage); this.inited = true; } this.showPageNav = function(pagerName, positionId) { if (! this.inited) { alert("not inited"); return; } var element = document.getElementById(positionId); var pagerHtml = ' « Prev | '; for (var page = 1; page <= this.pages; page++) pagerHtml += '' + page + ' | '; pagerHtml += ' Next »'; element.innerHTML = pagerHtml; } } //** Simple Controls Gallery- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com //** Dec 7th, 08'- Script created (Requires jquery 1.2.x) //** February 6th, 09'- Updated to v 1.3: //1) Adds Description Panel to optionally show a textual description for each slide //2) In Auto Play mode, you can now set the number of cycles before gallery stops. //3) Inside oninit() and onslide(), keyword "this" now references the current gallery instance var simpleGallery_navpanel={ panel: {height:'45px', opacity:0.5, paddingTop:'5px', fontStyle:'bold 11px Verdana'}, //customize nav panel container images: [ '/images/left.gif', '/images/play.gif', '/images/right.gif', '/images/pause.gif'], //nav panel images (in that order) imageSpacing: {offsetTop:[-4, 0, -4], spacing:10}, //top offset of left, play, and right images, PLUS spacing between the 3 images slideduration: 500 //duration of slide up animation to reveal panel } function simpleGallery(settingarg){ this.setting=settingarg settingarg=null var setting=this.setting setting.panelheight=(parseInt(setting.navpanelheight)>5)? parseInt(setting.navpanelheight) : parseInt(simpleGallery_navpanel.panel.height) setting.fadeduration=parseInt(setting.fadeduration) setting.curimage=(setting.persist)? simpleGallery.routines.getCookie("gallery-"+setting.wrapperid) : 0 setting.curimage=setting.curimage || 0 //account for curimage being null if cookie is empty setting.ispaused=!setting.autoplay[0] //ispaused reflects current state of gallery, autoplay[0] indicates whether gallery is set to auto play setting.currentstep=0 //keep track of # of slides slideshow has gone through setting.totalsteps=setting.imagearray.length*setting.autoplay[2] //Total steps limit: # of images x # of user specified cycles setting.fglayer=0, setting.bglayer=1 //index of active and background layer (switches after each change of slide) setting.oninit=setting.oninit || function(){} setting.onslide=setting.onslide || function(){} var preloadimages=[], longestdesc=null //preload images setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains "" for (var i=0; isetting.longestdesc.length) setting.longestdesc=setting.imagearray[i][3] } var slideshow=this jQuery(document).ready(function($){ var setting=slideshow.setting setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'black', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main gallery DIV if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.") return } setting.$gallerylayers=$('
') //two stacked DIVs to display the actual slide .css({position:'absolute', left:0, top:0}) .appendTo(setting.$wrapperdiv) setting.gallerylayers=setting.$gallerylayers.get() //cache stacked DIVs as DOM objects //setting.navbuttons=simpleGallery.routines.addnavpanel(setting) //get 4 nav buttons DIVs as DOM objects if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled) setting.descdiv=simpleGallery.routines.adddescpanel(setting) $(setting.navbuttons).filter('img.navimages').css({opacity:0.8}) .bind('mouseover mouseout', function(e){ $(this).css({opacity:(e.type=="mouseover")? 1 : 0.8}) }) .bind('click', function(e){ var keyword=e.target.title.toLowerCase() slideshow.navigate(keyword) //assign behavior to nav images }) setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidenavpanel('show')}) setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidenavpanel('hide')}) slideshow.showslide(setting.curimage) //show initial slide setting.oninit.call(slideshow) //trigger oninit() event $(window).bind('unload', function(){ //clean up and persist $(slideshow.setting.navbuttons).unbind() if (slideshow.setting.persist) //remember last shown image's index simpleGallery.routines.setCookie("gallery-"+setting.wrapperid, setting.curimage) jQuery.each(slideshow.setting, function(k){ if (slideshow.setting[k] instanceof Array){ for (var i=0; i0? setting.curimage-1 : totalimages-1) : Math.min(keyword, totalimages-1) setting.gallerylayers[setting.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(setting.imagearray[imgindex]) setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}) //background layer becomes foreground .stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete: clearTimeout(setting.playtimer) setting.gallerylayers[setting.bglayer].innerHTML=null //empty bglayer (previously fglayer before setting.fglayer=setting.bglayer was set below) try{ setting.onslide.call(slideshow, setting.gallerylayers[setting.fglayer], setting.curimage) }catch(e){ alert("Simple Controls Gallery: An error has occured somwhere in your code attached to the \"onslide\" event: "+e) } setting.currentstep+=1 if (setting.autoplay[0]){ if (setting.currentstep<=setting.totalsteps) setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.autoplay[1]) else slideshow.navigate("play/pause") } }) //end callback function setting.gallerylayers[setting.fglayer].style.zIndex=999 //foreground layer becomes background setting.fglayer=setting.bglayer setting.bglayer=(setting.bglayer==0)? 1 : 0 setting.curimage=imgindex setting.navbuttons[3].innerHTML=(setting.curimage+1) + '/' + setting.imagearray.length if (setting.imagearray[imgindex][3]){ //if this slide contains a description setting.$descpanel.css({visibility:'visible'}) setting.descdiv.innerHTML=setting.imagearray[imgindex][3] } else if (setting.longestdesc!=""){ //if at least one slide contains a description (feature is enabled) setting.descdiv.innerHTML=null setting.$descpanel.css({visibility:'hidden'}) } }, showhidenavpanel:function(state){ var setting=this.setting var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight : this.setting.dimensions[1] setting.$navpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration) if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled) this.showhidedescpanel(state) }, showhidedescpanel:function(state){ var setting=this.setting var endpoint=(state=="show")? 0 : -setting.descpanelheight setting.$descpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration) } } simpleGallery.routines={ getSlideHTML:function(imgelement){ var layerHTML=(imgelement[1])? '\n' : '' //hyperlink slide? layerHTML+='' layerHTML+=(imgelement[1])? '' : '' return layerHTML //return HTML for this layer }, addnavpanel:function(setting){ var interfaceHTML='' for (var i=0; i<3; i++){ var imgstyle='position:relative; border:0; cursor:hand; cursor:pointer; top:'+simpleGallery_navpanel.imageSpacing.offsetTop[i]+'px; margin-right:'+(i!=2? simpleGallery_navpanel.imageSpacing.spacing+'px' : 0) var title=(i==0? 'Prev' : (i==1)? (setting.ispaused? 'Play' : 'Pause') : 'Next') var imagesrc=(i==1)? simpleGallery_navpanel.images[(setting.ispaused)? 1 : 3] : simpleGallery_navpanel.images[i] interfaceHTML+=' ' } interfaceHTML+='
' + (setting.curimage+1) + '/' + setting.imagearray.length + '
' setting.$navpanel=$('') .css({position:'absolute', width:'100%', height:setting.panelheight, left:0, top:setting.dimensions[1], font:simpleGallery_navpanel.panel.fontStyle, zIndex:'1001'}) .appendTo(setting.$wrapperdiv) $('') //create inner nav panel DIVs .css({position:'absolute', left:0, top:0, width:'100%', height:'100%'}) .eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"navpanelbg" div .eq(1).css({paddingTop:simpleGallery_navpanel.panel.paddingTop, textAlign:'center', color:'white'}).html(interfaceHTML).end() //"navpanelfg" div .appendTo(setting.$navpanel) return setting.$navpanel.find('img.navimages, div.gallerystatus').get() //return 4 nav related images and DIVs as DOM objects }, adddescpanel:function(setting){ setting.$descpanel=$('
') .css({position:'absolute', width:'100%', left:0, top:-1000, zIndex:'1001'}) .find('div').css({position:'absolute', left:0, top:0, width:'100%'}) .eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"gallerydescbg" div .eq(1).css({color:'white'}).end() //"gallerydescfg" div .eq(2).html(setting.longestdesc).end().end() .appendTo(setting.$wrapperdiv) var $gallerydesctext=setting.$descpanel.find('div.gallerydesctext') setting.descpanelheight=$gallerydesctext.outerHeight() setting.$descpanel.css({top:-setting.descpanelheight, height:setting.descpanelheight}).find('div').css({height:'100%'}) return setting.$descpanel.find('div.gallerydesctext').get(0) //return gallery description DIV as a DOM object }, getCookie:function(Name){ var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return null }, setCookie:function(name, value){ document.cookie = name+"=" + value + ";path=/" } } /* * jQuery 1.2.2 - New Wave Javascript * * Copyright (c) 2007 John Resig (jquery.com) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * $Date: 2008-01-14 17:56:07 -0500 (Mon, 14 Jan 2008) $ * $Rev: 4454 $ */ eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(J(){7(1e.19)L w=1e.19;L E=1e.19=J(a,b){K 1D E.2m.4Y(a,b)};7(1e.$)L D=1e.$;1e.$=E;L u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/;L G=/^.[^:#\\[\\.]*$/;E.1i=E.2m={4Y:J(d,b){d=d||T;7(d.15){6[0]=d;6.M=1;K 6}N 7(1v d=="25"){L c=u.39(d);7(c&&(c[1]||!b)){7(c[1])d=E.5c([c[1]],b);N{L a=T.5N(c[3]);7(a)7(a.2s!=c[3])K E().2r(d);N{6[0]=a;6.M=1;K 6}N d=[]}}N K 1D E(b).2r(d)}N 7(E.1q(d))K 1D E(T)[E.1i.21?"21":"43"](d);K 6.6G(d.1n==1N&&d||(d.5j||d.M&&d!=1e&&!d.15&&d[0]!=10&&d[0].15)&&E.2H(d)||[d])},5j:"1.2.2",82:J(){K 6.M},M:0,22:J(a){K a==10?E.2H(6):6[a]},2E:J(b){L a=E(b);a.56=6;K a},6G:J(a){6.M=0;1N.2m.1h.1j(6,a);K 6},V:J(a,b){K E.V(6,a,b)},5E:J(b){L a=-1;6.V(J(i){7(6==b)a=i});K a},1K:J(c,a,b){L d=c;7(c.1n==4d)7(a==10)K 6.M&&E[b||"1K"](6[0],c)||10;N{d={};d[c]=a}K 6.V(J(i){P(c 1r d)E.1K(b?6.Y:6,c,E.1l(6,d[c],b,i,c))})},1m:J(b,a){7((b==\'29\'||b==\'1P\')&&2M(a)<0)a=10;K 6.1K(b,a,"2q")},1t:J(b){7(1v b!="4D"&&b!=W)K 6.4B().3t((6[0]&&6[0].2u||T).5v(b));L a="";E.V(b||6,J(){E.V(6.3p,J(){7(6.15!=8)a+=6.15!=1?6.6M:E.1i.1t([6])})});K a},5r:J(b){7(6[0])E(b,6[0].2u).5J().3n(6[0]).2a(J(){L a=6;2e(a.1B)a=a.1B;K a}).3t(6);K 6},8t:J(a){K 6.V(J(){E(6).6C().5r(a)})},8m:J(a){K 6.V(J(){E(6).5r(a)})},3t:J(){K 6.3P(1a,R,S,J(a){7(6.15==1)6.3k(a)})},6s:J(){K 6.3P(1a,R,R,J(a){7(6.15==1)6.3n(a,6.1B)})},6o:J(){K 6.3P(1a,S,S,J(a){6.1b.3n(a,6)})},5a:J(){K 6.3P(1a,S,R,J(a){6.1b.3n(a,6.2J)})},3h:J(){K 6.56||E([])},2r:J(b){L c=E.2a(6,J(a){K E.2r(b,a)});K 6.2E(/[^+>] [^+>]/.17(b)||b.1g("..")>-1?E.57(c):c)},5J:J(e){L f=6.2a(J(){7(E.14.1d&&!E.3W(6)){L a=6.6c(R),5u=T.2R("1u"),4T=T.2R("1u");5u.3k(a);4T.38=5u.38;K 4T.1B}N K 6.6c(R)});L d=f.2r("*").4R().V(J(){7(6[F]!=10)6[F]=W});7(e===R)6.2r("*").4R().V(J(i){7(6.15==3)K;L c=E.Q(6,"2N");P(L a 1r c)P(L b 1r c[a])E.16.1c(d[i],a,c[a][b],c[a][b].Q)});K f},1F:J(b){K 6.2E(E.1q(b)&&E.3x(6,J(a,i){K b.1O(a,i)})||E.3d(b,6))},4I:J(b){7(b.1n==4d)7(G.17(b))K 6.2E(E.3d(b,6,R));N b=E.3d(b,6);L a=b.M&&b[b.M-1]!==10&&!b.15;K 6.1F(J(){K a?E.35(6,b)<0:6!=b})},1c:J(a){K!a?6:6.2E(E.34(6.22(),a.1n==4d?E(a).22():a.M!=10&&(!a.12||E.12(a,"3i"))?a:[a]))},3K:J(a){K a?E.3d(a,6).M>0:S},7g:J(a){K 6.3K("."+a)},5P:J(b){7(b==10){7(6.M){L c=6[0];7(E.12(c,"2y")){L e=c.44,5L=[],11=c.11,30=c.U=="2y-30";7(e<0)K W;P(L i=30?e:0,2b=30?e+1:11.M;i<2b;i++){L d=11[i];7(d.2p){b=E.14.1d&&!d.9s.1C.9o?d.1t:d.1C;7(30)K b;5L.1h(b)}}K 5L}N K(6[0].1C||"").1p(/\\r/g,"")}K 10}K 6.V(J(){7(6.15!=1)K;7(b.1n==1N&&/5w|5y/.17(6.U))6.3o=(E.35(6.1C,b)>=0||E.35(6.37,b)>=0);N 7(E.12(6,"2y")){L a=b.1n==1N?b:[b];E("90",6).V(J(){6.2p=(E.35(6.1C,a)>=0||E.35(6.1t,a)>=0)});7(!a.M)6.44=-1}N 6.1C=b})},3q:J(a){K a==10?(6.M?6[0].38:W):6.4B().3t(a)},6P:J(a){K 6.5a(a).1Y()},6N:J(i){K 6.2V(i,i+1)},2V:J(){K 6.2E(1N.2m.2V.1j(6,1a))},2a:J(b){K 6.2E(E.2a(6,J(a,i){K b.1O(a,i,a)}))},4R:J(){K 6.1c(6.56)},3P:J(g,f,h,d){L e=6.M>1,3m;K 6.V(J(){7(!3m){3m=E.5c(g,6.2u);7(h)3m.8I()}L b=6;7(f&&E.12(6,"1V")&&E.12(3m[0],"4x"))b=6.3V("1S")[0]||6.3k(6.2u.2R("1S"));L c=E([]);E.V(3m,J(){L a=e?E(6).5J(R)[0]:6;7(E.12(a,"1o")){c=c.1c(a)}N{7(a.15==1)c=c.1c(E("1o",a).1Y());d.1O(b,a)}});c.V(6D)})}};E.2m.4Y.2m=E.2m;J 6D(i,a){7(a.3R)E.3Q({1f:a.3R,3l:S,1G:"1o"});N E.5l(a.1t||a.6A||a.38||"");7(a.1b)a.1b.2X(a)}E.1s=E.1i.1s=J(){L b=1a[0]||{},i=1,M=1a.M,5i=S,11;7(b.1n==8f){5i=b;b=1a[1]||{};i=2}7(1v b!="4D"&&1v b!="J")b={};7(M==1){b=6;i=0}P(;i-1}},6e:J(b,c,a){L e={};P(L d 1r c){e[d]=b.Y[d];b.Y[d]=c[d]}a.1O(b);P(L d 1r c)b.Y[d]=e[d]},1m:J(d,e,c){7(e=="29"||e=="1P"){L b,3S={3C:"4Z",4X:"23",18:"3u"},3r=e=="29"?["7P","7M"]:["7L","7K"];J 4S(){b=e=="29"?d.7J:d.7I;L a=0,3a=0;E.V(3r,J(){a+=2M(E.2q(d,"7H"+6,R))||0;3a+=2M(E.2q(d,"3a"+6+"62",R))||0});b-=1Z.7E(a+3a)}7(E(d).3K(":4b"))4S();N E.6e(d,3S,4S);K 1Z.2b(0,b)}K E.2q(d,e,c)},2q:J(e,k,j){L d;J 3y(b){7(!E.14.26)K S;L a=T.4a.4L(b,W);K!a||a.4K("3y")==""}7(k=="1y"&&E.14.1d){d=E.1K(e.Y,"1y");K d==""?"1":d}7(E.14.2B&&k=="18"){L c=e.Y.18;e.Y.18="3u";e.Y.18=c}7(k.1E(/4c/i))k=y;7(!j&&e.Y&&e.Y[k])d=e.Y[k];N 7(T.4a&&T.4a.4L){7(k.1E(/4c/i))k="4c";k=k.1p(/([A-Z])/g,"-$1").2w();L h=T.4a.4L(e,W);7(h&&!3y(e))d=h.4K(k);N{L f=[],2L=[];P(L a=e;a&&3y(a);a=a.1b)2L.4U(a);P(L i=0;i<2L.M;i++)7(3y(2L[i])){f[i]=2L[i].Y.18;2L[i].Y.18="3u"}d=k=="18"&&f[2L.M-1]!=W?"2D":(h&&h.4K(k))||"";P(L i=0;i]*?)\\/>/g,J(b,a,c){K c.1E(/^(7k|7h|5Q|7f|48|5O|a3|3v|9Y|9W|9T)$/i)?b:a+">"});L f=E.3f(d).2w(),1u=h.2R("1u");L e=!f.1g("<9R")&&[1,"<2y 78=\'78\'>",""]||!f.1g("<9O")&&[1,"<77>",""]||f.1E(/^<(9K|1S|9I|9F|9A)/)&&[1,"<1V>",""]||!f.1g("<4x")&&[2,"<1V><1S>",""]||(!f.1g("<9y")||!f.1g("<9v"))&&[3,"<1V><1S><4x>",""]||!f.1g("<5Q")&&[2,"<1V><1S><76>",""]||E.14.1d&&[1,"1u<1u>",""]||[0,"",""];1u.38=e[1]+d+e[2];2e(e[0]--)1u=1u.5D;7(E.14.1d){L g=!f.1g("<1V")&&f.1g("<1S")<0?1u.1B&&1u.1B.3p:e[1]=="<1V>"&&f.1g("<1S")<0?1u.3p:[];P(L j=g.M-1;j>=0;--j)7(E.12(g[j],"1S")&&!g[j].3p.M)g[j].1b.2X(g[j]);7(/^\\s/.17(d))1u.3n(h.5v(d.1E(/^\\s*/)[0]),1u.1B)}d=E.2H(1u.3p)}7(d.M===0&&(!E.12(d,"3i")&&!E.12(d,"2y")))K;7(d[0]==10||E.12(d,"3i")||d.11)k.1h(d);N k=E.34(k,d)});K k},1K:J(d,e,c){7(!d||d.15==3||d.15==8)K 10;L f=E.3W(d)?{}:E.3S;7(e=="2p"&&E.14.26)d.1b.44;7(f[e]){7(c!=10)d[f[e]]=c;K d[f[e]]}N 7(E.14.1d&&e=="Y")K E.1K(d.Y,"9r",c);N 7(c==10&&E.14.1d&&E.12(d,"3i")&&(e=="9q"||e=="9p"))K d.9n(e).6M;N 7(d.28){7(c!=10){7(e=="U"&&E.12(d,"48")&&d.1b)6Z"U 9i 9g\'t 9b 9a";d.99(e,""+c)}7(E.14.1d&&/6T|3R/.17(e)&&!E.3W(d))K d.4z(e,2);K d.4z(e)}N{7(e=="1y"&&E.14.1d){7(c!=10){d.6q=1;d.1F=(d.1F||"").1p(/6W\\([^)]*\\)/,"")+(2M(c).3D()=="93"?"":"6W(1y="+c*6S+")")}K d.1F&&d.1F.1g("1y=")>=0?(2M(d.1F.1E(/1y=([^)]*)/)[1])/6S).3D():""}e=e.1p(/-([a-z])/92,J(a,b){K b.2F()});7(c!=10)d[e]=c;K d[e]}},3f:J(a){K(a||"").1p(/^\\s+|\\s+$/g,"")},2H:J(b){L a=[];7(1v b!="91")P(L i=0,M=b.M;i*",6).1Y();2e(6.1B)6.2X(6.1B)}},J(a,b){E.1i[a]=J(){K 6.V(b,1a)}});E.V(["8e","62"],J(i,c){L b=c.2w();E.1i[b]=J(a){K 6[0]==1e?E.14.2B&&T.1k["5h"+c]||E.14.26&&1e["8d"+c]||T.6I=="6H"&&T.1I["5h"+c]||T.1k["5h"+c]:6[0]==T?1Z.2b(1Z.2b(T.1k["5g"+c],T.1I["5g"+c]),1Z.2b(T.1k["5f"+c],T.1I["5f"+c])):a==10?(6.M?E.1m(6[0],b):W):6.1m(b,a.1n==4d?a:a+"2P")}});L C=E.14.26&&4t(E.14.5n)<8c?"(?:[\\\\w*4s-]|\\\\\\\\.)":"(?:[\\\\w\\8b-\\8a*4s-]|\\\\\\\\.)",6w=1D 4r("^>\\\\s*("+C+"+)"),6v=1D 4r("^("+C+"+)(#)("+C+"+)"),6u=1D 4r("^([#.]?)("+C+"*)");E.1s({5d:{"":"m[2]==\'*\'||19.12(a,m[2])","#":"a.4z(\'2s\')==m[2]",":":{88:"im[3]-0",31:"m[3]-0==i",6N:"m[3]-0==i",3j:"i==0",3M:"i==r.M-1",6r:"i%2==0",6p:"i%2","3j-4m":"a.1b.3V(\'*\')[0]==a","3M-4m":"19.31(a.1b.5D,1,\'4v\')==a","84-4m":"!19.31(a.1b.5D,2,\'4v\')",6E:"a.1B",4B:"!a.1B",83:"(a.6A||a.80||19(a).1t()||\'\').1g(m[3])>=0",4b:\'"23"!=a.U&&19.1m(a,"18")!="2D"&&19.1m(a,"4X")!="23"\',23:\'"23"==a.U||19.1m(a,"18")=="2D"||19.1m(a,"4X")=="23"\',7Y:"!a.2W",2W:"a.2W",3o:"a.3o",2p:"a.2p||19.1K(a,\'2p\')",1t:"\'1t\'==a.U",5w:"\'5w\'==a.U",5y:"\'5y\'==a.U",5b:"\'5b\'==a.U",3J:"\'3J\'==a.U",59:"\'59\'==a.U",6n:"\'6n\'==a.U",6m:"\'6m\'==a.U",2G:\'"2G"==a.U||19.12(a,"2G")\',48:"/48|2y|6l|2G/i.17(a.12)",3E:"19.2r(m[3],a).M",7X:"/h\\\\d/i.17(a.12)",7W:"19.3x(19.3I,J(1i){K a==1i.O;}).M"}},6j:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1D 4r("^([:.#]*)("+C+"+)")],3d:J(a,c,b){L d,2o=[];2e(a&&a!=d){d=a;L f=E.1F(a,c,b);a=f.t.1p(/^\\s*,\\s*/,"");2o=b?c=f.r:E.34(2o,f.r)}K 2o},2r:J(t,p){7(1v t!="25")K[t];7(p&&p.15!=1&&p.15!=9)K[];p=p||T;L d=[p],2j=[],3M,12;2e(t&&3M!=t){L r=[];3M=t;t=E.3f(t);L o=S;L g=6w;L m=g.39(t);7(m){12=m[1].2F();P(L i=0;d[i];i++)P(L c=d[i].1B;c;c=c.2J)7(c.15==1&&(12=="*"||c.12.2F()==12))r.1h(c);d=r;t=t.1p(g,"");7(t.1g(" ")==0)6z;o=R}N{g=/^([>+~])\\s*(\\w*)/i;7((m=g.39(t))!=W){r=[];L l={};12=m[2].2F();m=m[1];P(L j=0,3g=d.M;j<3g;j++){L n=m=="~"||m=="+"?d[j].2J:d[j].1B;P(;n;n=n.2J)7(n.15==1){L h=E.Q(n);7(m=="~"&&l[h])1T;7(!12||n.12.2F()==12){7(m=="~")l[h]=R;r.1h(n)}7(m=="+")1T}}d=r;t=E.3f(t.1p(g,""));o=R}}7(t&&!o){7(!t.1g(",")){7(p==d[0])d.4k();2j=E.34(2j,d);r=d=[p];t=" "+t.6i(1,t.M)}N{L k=6v;L m=k.39(t);7(m){m=[0,m[2],m[3],m[1]]}N{k=6u;m=k.39(t)}m[2]=m[2].1p(/\\\\/g,"");L f=d[d.M-1];7(m[1]=="#"&&f&&f.5N&&!E.3W(f)){L q=f.5N(m[2]);7((E.14.1d||E.14.2B)&&q&&1v q.2s=="25"&&q.2s!=m[2])q=E(\'[@2s="\'+m[2]+\'"]\',f)[0];d=r=q&&(!m[3]||E.12(q,m[3]))?[q]:[]}N{P(L i=0;d[i];i++){L a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&d[i].12.2w()=="4D")a="3v";r=E.34(r,d[i].3V(a))}7(m[1]==".")r=E.58(r,m[2]);7(m[1]=="#"){L e=[];P(L i=0;r[i];i++)7(r[i].4z("2s")==m[2]){e=[r[i]];1T}r=e}d=r}t=t.1p(k,"")}}7(t){L b=E.1F(t,r);d=r=b.r;t=E.3f(b.t)}}7(t)d=[];7(d&&p==d[0])d.4k();2j=E.34(2j,d);K 2j},58:J(r,m,a){m=" "+m+" ";L c=[];P(L i=0;r[i];i++){L b=(" "+r[i].1w+" ").1g(m)>=0;7(!a&&b||a&&!b)c.1h(r[i])}K c},1F:J(t,r,h){L d;2e(t&&t!=d){d=t;L p=E.6j,m;P(L i=0;p[i];i++){m=p[i].39(t);7(m){t=t.7V(m[0].M);m[2]=m[2].1p(/\\\\/g,"");1T}}7(!m)1T;7(m[1]==":"&&m[2]=="4I")r=G.17(m[3])?E.1F(m[3],r,R).r:E(r).4I(m[3]);N 7(m[1]==".")r=E.58(r,m[2],h);N 7(m[1]=="["){L g=[],U=m[3];P(L i=0,3g=r.M;i<3g;i++){L a=r[i],z=a[E.3S[m[2]]||m[2]];7(z==W||/6T|3R|2p/.17(m[2]))z=E.1K(a,m[2])||\'\';7((U==""&&!!z||U=="="&&z==m[5]||U=="!="&&z!=m[5]||U=="^="&&z&&!z.1g(m[5])||U=="$="&&z.6i(z.M-m[5].M)==m[5]||(U=="*="||U=="~=")&&z.1g(m[5])>=0)^h)g.1h(a)}r=g}N 7(m[1]==":"&&m[2]=="31-4m"){L e={},g=[],17=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.39(m[3]=="6r"&&"2n"||m[3]=="6p"&&"2n+1"||!/\\D/.17(m[3])&&"7U+"+m[3]||m[3]),3j=(17[1]+(17[2]||1))-0,d=17[3]-0;P(L i=0,3g=r.M;i<3g;i++){L j=r[i],1b=j.1b,2s=E.Q(1b);7(!e[2s]){L c=1;P(L n=1b.1B;n;n=n.2J)7(n.15==1)n.4p=c++;e[2s]=R}L b=S;7(3j==0){7(j.4p==d)b=R}N 7((j.4p-d)%3j==0&&(j.4p-d)/3j>=0)b=R;7(b^h)g.1h(j)}r=g}N{L f=E.5d[m[1]];7(1v f!="25")f=E.5d[m[1]][m[2]];f=4A("S||J(a,i){K "+f+"}");r=E.3x(r,f,h)}}K{r:r,t:t}},4w:J(b,c){L d=[];L a=b[c];2e(a&&a!=T){7(a.15==1)d.1h(a);a=a[c]}K d},31:J(a,e,c,b){e=e||1;L d=0;P(;a;a=a[c])7(a.15==1&&++d==e)1T;K a},5m:J(n,a){L r=[];P(;n;n=n.2J){7(n.15==1&&(!a||n!=a))r.1h(n)}K r}});E.16={1c:J(f,i,g,e){7(f.15==3||f.15==8)K;7(E.14.1d&&f.54!=10)f=1e;7(!g.2A)g.2A=6.2A++;7(e!=10){L h=g;g=J(){K h.1j(6,1a)};g.Q=e;g.2A=h.2A}L j=E.Q(f,"2N")||E.Q(f,"2N",{}),1x=E.Q(f,"1x")||E.Q(f,"1x",J(){L a;7(1v E=="10"||E.16.52)K a;a=E.16.1x.1j(1a.3G.O,1a);K a});1x.O=f;E.V(i.2d(/\\s+/),J(c,b){L a=b.2d(".");b=a[0];g.U=a[1];L d=j[b];7(!d){d=j[b]={};7(!E.16.2l[b]||E.16.2l[b].4i.1O(f)===S){7(f.3F)f.3F(b,1x,S);N 7(f.6h)f.6h("4h"+b,1x)}}d[g.2A]=g;E.16.2g[b]=R});f=W},2A:1,2g:{},1Y:J(e,h,f){7(e.15==3||e.15==8)K;L i=E.Q(e,"2N"),2f,5E;7(i){7(h==10)P(L g 1r i)6.1Y(e,g);N{7(h.U){f=h.2k;h=h.U}E.V(h.2d(/\\s+/),J(b,a){L c=a.2d(".");a=c[0];7(i[a]){7(f)2T i[a][f.2A];N P(f 1r i[a])7(!c[1]||i[a][f].U==c[1])2T i[a][f];P(2f 1r i[a])1T;7(!2f){7(!E.16.2l[a]||E.16.2l[a].4g.1O(e)===S){7(e.6f)e.6f(a,E.Q(e,"1x"),S);N 7(e.6d)e.6d("4h"+a,E.Q(e,"1x"))}2f=W;2T i[a]}}})}P(2f 1r i)1T;7(!2f){L d=E.Q(e,"1x");7(d)d.O=W;E.3H(e,"2N");E.3H(e,"1x")}}},1U:J(f,b,c,d,g){b=E.2H(b||[]);7(!c){7(6.2g[f])E("*").1c([1e,T]).1U(f,b)}N{7(c.15==3||c.15==8)K 10;L a,2f,1i=E.1q(c[f]||W),16=!b[0]||!b[0].32;7(16)b.4U(6.51({U:f,2K:c}));b[0].U=f;7(E.1q(E.Q(c,"1x")))a=E.Q(c,"1x").1j(c,b);7(!1i&&c["4h"+f]&&c["4h"+f].1j(c,b)===S)a=S;7(16)b.4k();7(g&&E.1q(g)){2f=g.1j(c,a==W?b:b.6Q(a));7(2f!==10)a=2f}7(1i&&d!==S&&a!==S&&!(E.12(c,\'a\')&&f=="50")){6.52=R;1R{c[f]()}1W(e){}}6.52=S}K a},1x:J(c){L a;c=E.16.51(c||1e.16||{});L b=c.U.2d(".");c.U=b[0];L f=E.Q(6,"2N")&&E.Q(6,"2N")[c.U],3B=1N.2m.2V.1O(1a,1);3B.4U(c);P(L j 1r f){L d=f[j];3B[0].2k=d;3B[0].Q=d.Q;7(!b[1]||d.U==b[1]){L e=d.1j(6,3B);7(a!==S)a=e;7(e===S){c.32();c.41()}}}7(E.14.1d)c.2K=c.32=c.41=c.2k=c.Q=W;K a},51:J(c){L a=c;c=E.1s({},a);c.32=J(){7(a.32)a.32();a.7T=S};c.41=J(){7(a.41)a.41();a.7S=R};7(!c.2K)c.2K=c.7R||T;7(c.2K.15==3)c.2K=a.2K.1b;7(!c.4W&&c.4V)c.4W=c.4V==c.2K?c.7Q:c.4V;7(c.6b==W&&c.6a!=W){L b=T.1I,1k=T.1k;c.6b=c.6a+(b&&b.2i||1k&&1k.2i||0)-(b.68||0);c.7O=c.7N+(b&&b.2x||1k&&1k.2x||0)-(b.67||0)}7(!c.3r&&((c.4f||c.4f===0)?c.4f:c.66))c.3r=c.4f||c.66;7(!c.65&&c.64)c.65=c.64;7(!c.3r&&c.2G)c.3r=(c.2G&1?1:(c.2G&2?3:(c.2G&4?2:0)));K c},2l:{21:{4i:J(){5A();K},4g:J(){K}},47:{4i:J(){7(E.14.1d)K S;E(6).2z("4Q",E.16.2l.47.2k);K R},4g:J(){7(E.14.1d)K S;E(6).42("4Q",E.16.2l.47.2k);K R},2k:J(a){7(I(a,6))K R;1a[0].U="47";K E.16.1x.1j(6,1a)}},46:{4i:J(){7(E.14.1d)K S;E(6).2z("4P",E.16.2l.46.2k);K R},4g:J(){7(E.14.1d)K S;E(6).42("4P",E.16.2l.46.2k);K R},2k:J(a){7(I(a,6))K R;1a[0].U="46";K E.16.1x.1j(6,1a)}}}};E.1i.1s({2z:J(c,a,b){K c=="4O"?6.30(c,a,b):6.V(J(){E.16.1c(6,c,b||a,b&&a)})},30:J(d,b,c){K 6.V(J(){E.16.1c(6,d,J(a){E(6).42(a);K(c||b).1j(6,1a)},c&&b)})},42:J(a,b){K 6.V(J(){E.16.1Y(6,a,b)})},1U:J(c,a,b){K 6.V(J(){E.16.1U(c,a,6,R,b)})},63:J(c,a,b){7(6[0])K E.16.1U(c,a,6[0],S,b);K 10},2h:J(){L b=1a;K 6.50(J(a){6.4N=0==6.4N?1:0;a.32();K b[6.4N].1j(6,1a)||S})},7F:J(a,b){K 6.2z(\'47\',a).2z(\'46\',b)},21:J(a){5A();7(E.2Q)a.1O(T,E);N E.3w.1h(J(){K a.1O(6,E)});K 6}});E.1s({2Q:S,3w:[],21:J(){7(!E.2Q){E.2Q=R;7(E.3w){E.V(E.3w,J(){6.1j(T)});E.3w=W}E(T).63("21")}}});L x=S;J 5A(){7(x)K;x=R;7(T.3F&&!E.14.2B)T.3F("61",E.21,S);7(E.14.1d&&1e==3b)(J(){7(E.2Q)K;1R{T.1I.7D("2c")}1W(3e){3z(1a.3G,0);K}E.21()})();7(E.14.2B)T.3F("61",J(){7(E.2Q)K;P(L i=0;i=0){L i=g.2V(e,g.M);g=g.2V(0,e)}c=c||J(){};L f="4J";7(d)7(E.1q(d)){c=d;d=W}N{d=E.3v(d);f="5Z"}L h=6;E.3Q({1f:g,U:f,1G:"3q",Q:d,1z:J(a,b){7(b=="1X"||b=="5Y")h.3q(i?E("<1u/>").3t(a.4e.1p(/<1o(.|\\s)*?\\/1o>/g,"")).2r(i):a.4e);h.V(c,[a.4e,b,a])}});K 6},7q:J(){K E.3v(6.5X())},5X:J(){K 6.2a(J(){K E.12(6,"3i")?E.2H(6.7p):6}).1F(J(){K 6.37&&!6.2W&&(6.3o||/2y|6l/i.17(6.12)||/1t|23|3J/i.17(6.U))}).2a(J(i,c){L b=E(6).5P();K b==W?W:b.1n==1N?E.2a(b,J(a,i){K{37:c.37,1C:a}}):{37:c.37,1C:b}}).22()}});E.V("5W,5V,5U,69,5T,5S".2d(","),J(i,o){E.1i[o]=J(f){K 6.2z(o,f)}});L B=(1D 3O).3N();E.1s({22:J(d,b,a,c){7(E.1q(b)){a=b;b=W}K E.3Q({U:"4J",1f:d,Q:b,1X:a,1G:c})},7o:J(b,a){K E.22(b,W,a,"1o")},7n:J(c,b,a){K E.22(c,b,a,"2O")},7m:J(d,b,a,c){7(E.1q(b)){a=b;b={}}K E.3Q({U:"5Z",1f:d,Q:b,1X:a,1G:c})},7Z:J(a){E.1s(E.4H,a)},4H:{2g:R,U:"4J",2U:0,5R:"49/x-7j-3i-7i",6x:R,3l:R,Q:W,6t:W,3J:W,4n:{3L:"49/3L, 1t/3L",3q:"1t/3q",1o:"1t/4l, 49/4l",2O:"49/2O, 1t/4l",1t:"1t/7e",4o:"*/*"}},4q:{},3Q:J(s){L f,2Y=/=\\?(&|$)/g,1A,Q;s=E.1s(R,s,E.1s(R,{},E.4H,s));7(s.Q&&s.6x&&1v s.Q!="25")s.Q=E.3v(s.Q);7(s.1G=="4u"){7(s.U.2w()=="22"){7(!s.1f.1E(2Y))s.1f+=(s.1f.1E(/\\?/)?"&":"?")+(s.4u||"7d")+"=?"}N 7(!s.Q||!s.Q.1E(2Y))s.Q=(s.Q?s.Q+"&":"")+(s.4u||"7d")+"=?";s.1G="2O"}7(s.1G=="2O"&&(s.Q&&s.Q.1E(2Y)||s.1f.1E(2Y))){f="4u"+B++;7(s.Q)s.Q=(s.Q+"").1p(2Y,"="+f+"$1");s.1f=s.1f.1p(2Y,"="+f+"$1");s.1G="1o";1e[f]=J(a){Q=a;1X();1z();1e[f]=10;1R{2T 1e[f]}1W(e){}7(h)h.2X(g)}}7(s.1G=="1o"&&s.1Q==W)s.1Q=S;7(s.1Q===S&&s.U.2w()=="22"){L i=(1D 3O()).3N();L j=s.1f.1p(/(\\?|&)4s=.*?(&|$)/,"$a2="+i+"$2");s.1f=j+((j==s.1f)?(s.1f.1E(/\\?/)?"&":"?")+"4s="+i:"")}7(s.Q&&s.U.2w()=="22"){s.1f+=(s.1f.1E(/\\?/)?"&":"?")+s.Q;s.Q=W}7(s.2g&&!E.5M++)E.16.1U("5W");7((!s.1f.1g("9Z")||!s.1f.1g("//"))&&(s.1G=="1o"||s.1G=="2O")&&s.U.2w()=="22"){L h=T.3V("6k")[0];L g=T.2R("1o");g.3R=s.1f;7(s.7c)g.9X=s.7c;7(!f){L l=S;g.9V=g.9U=J(){7(!l&&(!6.3c||6.3c=="60"||6.3c=="1z")){l=R;1X();1z();h.2X(g)}}}h.3k(g);K 10}L m=S;L k=1e.7a?1D 7a("9S.9Q"):1D 79();k.9P(s.U,s.1f,s.3l,s.6t,s.3J);1R{7(s.Q)k.4G("9N-9M",s.5R);7(s.5I)k.4G("9L-5H-9J",E.4q[s.1f]||"9H, 9G 9E 9B 5G:5G:5G 9z");k.4G("X-9x-9u","79");k.4G("9t",s.1G&&s.4n[s.1G]?s.4n[s.1G]+", */*":s.4n.4o)}1W(e){}7(s.75)s.75(k);7(s.2g)E.16.1U("5S",[k,s]);L c=J(a){7(!m&&k&&(k.3c==4||a=="2U")){m=R;7(d){74(d);d=W}1A=a=="2U"&&"2U"||!E.73(k)&&"3e"||s.5I&&E.72(k,s.1f)&&"5Y"||"1X";7(1A=="1X"){1R{Q=E.71(k,s.1G)}1W(e){1A="5C"}}7(1A=="1X"){L b;1R{b=k.5B("70-5H")}1W(e){}7(s.5I&&b)E.4q[s.1f]=b;7(!f)1X()}N E.5t(s,k,1A);1z();7(s.3l)k=W}};7(s.3l){L d=54(c,13);7(s.2U>0)3z(J(){7(k){k.9m();7(!m)c("2U")}},s.2U)}1R{k.9l(s.Q)}1W(e){E.5t(s,k,W,e)}7(!s.3l)c();J 1X(){7(s.1X)s.1X(Q,1A);7(s.2g)E.16.1U("5T",[k,s])}J 1z(){7(s.1z)s.1z(k,1A);7(s.2g)E.16.1U("5U",[k,s]);7(s.2g&&!--E.5M)E.16.1U("5V")}K k},5t:J(s,a,b,e){7(s.3e)s.3e(a,b,e);7(s.2g)E.16.1U("69",[a,s,e])},5M:0,73:J(r){1R{K!r.1A&&9k.9j=="5b:"||(r.1A>=6Y&&r.1A<9h)||r.1A==6X||r.1A==9e||E.14.26&&r.1A==10}1W(e){}K S},72:J(a,c){1R{L b=a.5B("70-5H");K a.1A==6X||b==E.4q[c]||E.14.26&&a.1A==10}1W(e){}K S},71:J(r,b){L c=r.5B("9d-U");L d=b=="3L"||!b&&c&&c.1g("3L")>=0;L a=d?r.9c:r.4e;7(d&&a.1I.28=="5C")6Z"5C";7(b=="1o")E.5l(a);7(b=="2O")a=4A("("+a+")");K a},3v:J(a){L s=[];7(a.1n==1N||a.5j)E.V(a,J(){s.1h(3s(6.37)+"="+3s(6.1C))});N P(L j 1r a)7(a[j]&&a[j].1n==1N)E.V(a[j],J(){s.1h(3s(j)+"="+3s(6))});N s.1h(3s(j)+"="+3s(a[j]));K s.6g("&").1p(/%20/g,"+")}});E.1i.1s({1J:J(c,b){K c?6.27({1P:"1J",29:"1J",1y:"1J"},c,b):6.1F(":23").V(J(){6.Y.18=6.5x||"";7(E.1m(6,"18")=="2D"){L a=E("<"+6.28+" />").6B("1k");6.Y.18=a.1m("18");7(6.Y.18=="2D")6.Y.18="3u";a.1Y()}}).3h()},1H:J(b,a){K b?6.27({1P:"1H",29:"1H",1y:"1H"},b,a):6.1F(":4b").V(J(){6.5x=6.5x||E.1m(6,"18");6.Y.18="2D"}).3h()},6U:E.1i.2h,2h:J(a,b){K E.1q(a)&&E.1q(b)?6.6U(a,b):a?6.27({1P:"2h",29:"2h",1y:"2h"},a,b):6.V(J(){E(6)[E(6).3K(":23")?"1J":"1H"]()})},98:J(b,a){K 6.27({1P:"1J"},b,a)},97:J(b,a){K 6.27({1P:"1H"},b,a)},96:J(b,a){K 6.27({1P:"2h"},b,a)},95:J(b,a){K 6.27({1y:"1J"},b,a)},94:J(b,a){K 6.27({1y:"1H"},b,a)},9f:J(c,a,b){K 6.27({1y:a},c,b)},27:J(l,k,j,h){L i=E.6V(k,j,h);K 6[i.2S===S?"V":"2S"](J(){7(6.15!=1)K S;L g=E.1s({},i);L f=E(6).3K(":23"),4y=6;P(L p 1r l){7(l[p]=="1H"&&f||l[p]=="1J"&&!f)K E.1q(g.1z)&&g.1z.1j(6);7(p=="1P"||p=="29"){g.18=E.1m(6,"18");g.36=6.Y.36}}7(g.36!=W)6.Y.36="23";g.40=E.1s({},l);E.V(l,J(c,a){L e=1D E.2v(4y,g,c);7(/2h|1J|1H/.17(a))e[a=="2h"?f?"1J":"1H":a](l);N{L b=a.3D().1E(/^([+-]=)?([\\d+-.]+)(.*)$/),24=e.2o(R)||0;7(b){L d=2M(b[2]),2C=b[3]||"2P";7(2C!="2P"){4y.Y[c]=(d||1)+2C;24=((d||1)/e.2o(R))*24;4y.Y[c]=24+2C}7(b[1])d=((b[1]=="-="?-1:1)*d)+24;e.3Z(24,d,2C)}N e.3Z(24,a,"")}});K R})},2S:J(a,b){7(E.1q(a)||(a&&a.1n==1N)){b=a;a="2v"}7(!a||(1v a=="25"&&!b))K A(6[0],a);K 6.V(J(){7(b.1n==1N)A(6,a,b);N{A(6,a).1h(b);7(A(6,a).M==1)b.1j(6)}})},8Z:J(b,c){L a=E.3I;7(b)6.2S([]);6.V(J(){P(L i=a.M-1;i>=0;i--)7(a[i].O==6){7(c)a[i](R);a.6R(i,1)}});7(!c)6.5z();K 6}});L A=J(b,c,a){7(!b)K 10;c=c||"2v";L q=E.Q(b,c+"2S");7(!q||a)q=E.Q(b,c+"2S",a?E.2H(a):[]);K q};E.1i.5z=J(a){a=a||"2v";K 6.V(J(){L q=A(6,a);q.4k();7(q.M)q[0].1j(6)})};E.1s({6V:J(b,a,c){L d=b&&b.1n==8Y?b:{1z:c||!c&&a||E.1q(b)&&b,2t:b,3Y:c&&a||a&&a.1n!=8W&&a};d.2t=(d.2t&&d.2t.1n==53?d.2t:{9w:8U,8T:6Y}[d.2t])||8S;d.5o=d.1z;d.1z=J(){7(d.2S!==S)E(6).5z();7(E.1q(d.5o))d.5o.1j(6)};K d},3Y:{6O:J(p,n,b,a){K b+a*p},5F:J(p,n,b,a){K((-1Z.9C(p*1Z.9D)/2)+0.5)*a+b}},3I:[],3T:W,2v:J(b,c,a){6.11=c;6.O=b;6.1l=a;7(!c.3U)c.3U={}}});E.2v.2m={4C:J(){7(6.11.33)6.11.33.1j(6.O,[6.2I,6]);(E.2v.33[6.1l]||E.2v.33.4o)(6);7(6.1l=="1P"||6.1l=="29")6.O.Y.18="3u"},2o:J(a){7(6.O[6.1l]!=W&&6.O.Y[6.1l]==W)K 6.O[6.1l];L r=2M(E.1m(6.O,6.1l,a));K r&&r>-8N?r:2M(E.2q(6.O,6.1l))||0},3Z:J(c,b,d){6.5s=(1D 3O()).3N();6.24=c;6.3h=b;6.2C=d||6.2C||"2P";6.2I=6.24;6.4E=6.4F=0;6.4C();L e=6;J t(a){K e.33(a)}t.O=6.O;E.3I.1h(t);7(E.3T==W){E.3T=54(J(){L a=E.3I;P(L i=0;i6.11.2t+6.5s){6.2I=6.3h;6.4E=6.4F=1;6.4C();6.11.40[6.1l]=R;L b=R;P(L i 1r 6.11.40)7(6.11.40[i]!==R)b=S;7(b){7(6.11.18!=W){6.O.Y.36=6.11.36;6.O.Y.18=6.11.18;7(E.1m(6.O,"18")=="2D")6.O.Y.18="3u"}7(6.11.1H)6.O.Y.18="2D";7(6.11.1H||6.11.1J)P(L p 1r 6.11.40)E.1K(6.O.Y,p,6.11.3U[p])}7(b&&E.1q(6.11.1z))6.11.1z.1j(6.O);K S}N{L n=t-6.5s;6.4F=n/6.11.2t;6.4E=E.3Y[6.11.3Y||(E.3Y.5F?"5F":"6O")](6.4F,n,0,1,6.11.2t);6.2I=6.24+((6.3h-6.24)*6.4E);6.4C()}K R}};E.2v.33={2i:J(a){a.O.2i=a.2I},2x:J(a){a.O.2x=a.2I},1y:J(a){E.1K(a.O.Y,"1y",a.2I)},4o:J(a){a.O.Y[a.1l]=a.2I+a.2C}};E.1i.5f=J(){L b=0,3b=0,O=6[0],5q;7(O)8K(E.14){L d=O.1b,45=O,1M=O.1M,1L=O.2u,5p=26&&4t(5n)<8H,2Z=E.1m(O,"3C")=="2Z";7(O.7b){L c=O.7b();1c(c.2c+1Z.2b(1L.1I.2i,1L.1k.2i),c.3b+1Z.2b(1L.1I.2x,1L.1k.2x));1c(-1L.1I.68,-1L.1I.67)}N{1c(O.5k,O.5K);2e(1M){1c(1M.5k,1M.5K);7(3X&&!/^t(8F|d|h)$/i.17(1M.28)||26&&!5p)3a(1M);7(!2Z&&E.1m(1M,"3C")=="2Z")2Z=R;45=/^1k$/i.17(1M.28)?45:1M;1M=1M.1M}2e(d&&d.28&&!/^1k|3q$/i.17(d.28)){7(!/^a0|1V.*$/i.17(E.1m(d,"18")))1c(-d.2i,-d.2x);7(3X&&E.1m(d,"36")!="4b")3a(d);d=d.1b}7((5p&&(2Z||E.1m(45,"3C")=="4Z"))||(3X&&E.1m(45,"3C")!="4Z"))1c(-1L.1k.5k,-1L.1k.5K);7(2Z)1c(1Z.2b(1L.1I.2i,1L.1k.2i),1Z.2b(1L.1I.2x,1L.1k.2x))}5q={3b:3b,2c:b}}J 3a(a){1c(E.2q(a,"a1",R),E.2q(a,"8D",R))}J 1c(l,t){b+=4t(l)||0;3b+=4t(t)||0}K 5q}})();',62,624,'||||||this|if||||||||||||||||||||||||||||||||||||||function|return|var|length|else|elem|for|data|true|false|document|type|each|null||style||undefined|options|nodeName||browser|nodeType|event|test|display|jQuery|arguments|parentNode|add|msie|window|url|indexOf|push|fn|apply|body|prop|css|constructor|script|replace|isFunction|in|extend|text|div|typeof|className|handle|opacity|complete|status|firstChild|value|new|match|filter|dataType|hide|documentElement|show|attr|doc|offsetParent|Array|call|height|cache|try|tbody|break|trigger|table|catch|success|remove|Math||ready|get|hidden|start|string|safari|animate|tagName|width|map|max|left|split|while|ret|global|toggle|scrollLeft|done|handler|special|prototype||cur|selected|curCSS|find|id|duration|ownerDocument|fx|toLowerCase|scrollTop|select|bind|guid|opera|unit|none|pushStack|toUpperCase|button|makeArray|now|nextSibling|target|stack|parseFloat|events|json|px|isReady|createElement|queue|delete|timeout|slice|disabled|removeChild|jsre|fixed|one|nth|preventDefault|step|merge|inArray|overflow|name|innerHTML|exec|border|top|readyState|multiFilter|error|trim|rl|end|form|first|appendChild|async|elems|insertBefore|checked|childNodes|html|which|encodeURIComponent|append|block|param|readyList|grep|color|setTimeout|runtimeStyle|args|position|toString|has|addEventListener|callee|removeData|timers|password|is|xml|last|getTime|Date|domManip|ajax|src|props|timerId|orig|getElementsByTagName|isXMLDoc|mozilla|easing|custom|curAnim|stopPropagation|unbind|load|selectedIndex|offsetChild|mouseleave|mouseenter|input|application|defaultView|visible|float|String|responseText|charCode|teardown|on|setup|currentStyle|shift|javascript|child|accepts|_default|nodeIndex|lastModified|RegExp|_|parseInt|jsonp|previousSibling|dir|tr|self|getAttribute|eval|empty|update|object|pos|state|setRequestHeader|ajaxSettings|not|GET|getPropertyValue|getComputedStyle|styleSheets|lastToggle|unload|mouseout|mouseover|andSelf|getWH|container2|unshift|fromElement|relatedTarget|visibility|init|absolute|click|fix|triggered|Number|setInterval|removeAttribute|prevObject|unique|classFilter|submit|after|file|clean|expr|windowData|offset|scroll|client|deep|jquery|offsetLeft|globalEval|sibling|version|old|safari2|results|wrapAll|startTime|handleError|container|createTextNode|radio|oldblock|checkbox|dequeue|bindReady|getResponseHeader|parsererror|lastChild|index|swing|00|Modified|ifModified|clone|offsetTop|values|active|getElementById|link|val|col|contentType|ajaxSend|ajaxSuccess|ajaxComplete|ajaxStop|ajaxStart|serializeArray|notmodified|POST|loaded|DOMContentLoaded|Width|triggerHandler|ctrlKey|metaKey|keyCode|clientTop|clientLeft|ajaxError|clientX|pageX|cloneNode|detachEvent|swap|removeEventListener|join|attachEvent|substr|parse|head|textarea|reset|image|before|odd|zoom|even|prepend|username|quickClass|quickID|quickChild|processData|uuid|continue|textContent|appendTo|contents|evalScript|parent|defaultValue|setArray|CSS1Compat|compatMode|cssFloat|styleFloat|webkit|nodeValue|eq|linear|replaceWith|concat|splice|100|href|_toggle|speed|alpha|304|200|throw|Last|httpData|httpNotModified|httpSuccess|clearInterval|beforeSend|colgroup|fieldset|multiple|XMLHttpRequest|ActiveXObject|getBoundingClientRect|scriptCharset|callback|plain|img|hasClass|br|urlencoded|www|abbr|pixelLeft|post|getJSON|getScript|elements|serialize|keypress|keydown|change|mouseup|mousedown|dblclick|resize|focus|blur|stylesheet|rel|mousemove|doScroll|round|hover|keyup|padding|offsetHeight|offsetWidth|Bottom|Top|Right|clientY|pageY|Left|toElement|srcElement|cancelBubble|returnValue|0n|substring|animated|header|enabled|ajaxSetup|innerText|noConflict|size|contains|only|line|gt|weight|lt|font|uFFFF|u0128|417|inner|Height|Boolean|toggleClass|removeClass|addClass|removeAttr|replaceAll|insertAfter|wrap|prependTo|contentWindow|contentDocument|iframe|children|siblings|wrapInner|prevAll|nextAll|prev|next|parents|maxLength|maxlength|readOnly|readonly|borderTopWidth|class|able|htmlFor|522|reverse|boxModel|with|1px|compatible|10000|ie|ra|it|rv|400|fast|600|userAgent|Function|navigator|Object|stop|option|array|ig|NaN|fadeOut|fadeIn|slideToggle|slideUp|slideDown|setAttribute|changed|be|responseXML|content|1223|fadeTo|can|300|property|protocol|location|send|abort|getAttributeNode|specified|method|action|cssText|attributes|Accept|With|th|slow|Requested|td|GMT|cap|1970|cos|PI|Jan|colg|01|Thu|tfoot|Since|thead|If|Type|Content|leg|open|XMLHTTP|opt|Microsoft|embed|onreadystatechange|onload|area|charset|hr|http|inline|borderLeftWidth|1_|meta'.split('|'),0,{})) /* * Facebox (for jQuery) * version: 1.1 (03/01/2008) * @requires jQuery v1.2 or later * * Examples at http://famspam.com/facebox/ * * Licensed under the MIT: * http://www.opensource.org/licenses/mit-license.php * * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ] * * Usage: * * jQuery(document).ready(function() { * jQuery('a[rel*=facebox]').facebox() * }) * * Terms * Loads the #terms div in the box * * Terms * Loads the terms.html page in the box * * Terms * Loads the terms.png image in the box * * * You can also use it programmatically: * * jQuery.facebox('some html') * * This will open a facebox with "some html" as the content. * * jQuery.facebox(function() { ajaxes }) * * This will show a loading screen before the passed function is called, * allowing for a better ajax experience. * */ (function($) { $.facebox = function(data, klass) { $.facebox.init() $.facebox.loading() $.isFunction(data) ? data.call($) : $.facebox.reveal(data, klass) } $.facebox.settings = { loading_image : '/globostay/js/facefiles/loading.gif', close_image : '/globostay/js/facefiles/closelabel.gif', image_types : [ 'png', 'jpg', 'jpeg', 'gif' ], facebox_html : '\ ' } $.facebox.loading = function() { if ($('#facebox .loading').length == 1) return true $('#facebox .content').empty() $('#facebox .body').children().hide().end(). append('
') var pageScroll = $.facebox.getPageScroll() $('#facebox').css({ top: pageScroll[1] + ($.facebox.getPageHeight() / 10), left: pageScroll[0] }).show() $(document).bind('keydown.facebox', function(e) { if (e.keyCode == 27) $.facebox.close() }) } $.facebox.reveal = function(data, klass) { if (klass) $('#facebox .content').addClass(klass) $('#facebox .content').append(data) $('#facebox .loading').remove() $('#facebox .body').children().fadeIn('normal') } $.facebox.close = function() { $(document).trigger('close.facebox') return false } $(document).bind('close.facebox', function() { $(document).unbind('keydown.facebox') $('#facebox').fadeOut(function() { $('#facebox .content').removeClass().addClass('content') }) }) $.fn.facebox = function(settings) { $.facebox.init(settings) var image_types = $.facebox.settings.image_types.join('|') image_types = new RegExp('\.' + image_types + '$', 'i') function click_handler() { $.facebox.loading(true) // support for rel="facebox[.inline_popup]" syntax, to add a class var klass = this.rel.match(/facebox\[\.(\w+)\]/) if (klass) klass = klass[1] // div if (this.href.match(/#/)) { var url = window.location.href.split('#')[0] var target = this.href.replace(url,'') $.facebox.reveal($(target).clone().show(), klass) // image } else if (this.href.match(image_types)) { var image = new Image() image.onload = function() { $.facebox.reveal('
', klass) } image.src = this.href // ajax } else { $.get(this.href, function(data) { $.facebox.reveal(data, klass) }) } return false } this.click(click_handler) return this } $.facebox.init = function(settings) { if ($.facebox.settings.inited) { return true } else { $.facebox.settings.inited = true } if (settings) $.extend($.facebox.settings, settings) $('body').append($.facebox.settings.facebox_html) var preload = [ new Image(), new Image() ] preload[0].src = $.facebox.settings.close_image preload[1].src = $.facebox.settings.loading_image $('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(function() { preload.push(new Image()) preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1') }) $('#facebox .close').click($.facebox.close) $('#facebox .close_image').attr('src', $.facebox.settings.close_image) } // getPageScroll() by quirksmode.com $.facebox.getPageScroll = function() { var xScroll, yScroll; if (self.pageYOffset) { yScroll = self.pageYOffset; xScroll = self.pageXOffset; } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict yScroll = document.documentElement.scrollTop; xScroll = document.documentElement.scrollLeft; } else if (document.body) {// all other Explorers yScroll = document.body.scrollTop; xScroll = document.body.scrollLeft; } return new Array(xScroll,yScroll) } // adapter from getPageSize() by quirksmode.com $.facebox.getPageHeight = function() { var windowHeight if (self.innerHeight) { // all except Explorer windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode windowHeight = document.documentElement.clientHeight; } else if (document.body) { // other Explorers windowHeight = document.body.clientHeight; } return windowHeight } })(jQuery);