function SetupNamespace(b,a){if(!a){a=window}if(!a[b]){a[b]=[]}return a[b]}function SetupNamespaces(a){var c=a.split(".");var b=null;for(var d=0;d<c.length;d++){b=SetupNamespace(c[d],b)}}function Get(a){return document.getElementById(a)}function Elem(a,c){if(c&&c!=undefined&&document.all){return document.createElement("<"+a+' name="'+c+'">')}else{var b=document.createElement(a);if(c&&c!=undefined){b.name=c}return b}}function Text(b,a){if(a){var c=Elem("span");c.innerHTML=b;return c}return document.createTextNode(b)}function ClearElem(a){if(a==null||a==undefined){return}while(a.hasChildNodes()){a.removeChild(a.firstChild)}}function AddEventHandler(b,a){if(typeof(a)!="function"){return b}return function(){if(b){b.apply(this,arguments)}a.apply(this,arguments)}}SetupNamespaces("Pliner.Util");Pliner.Util.Display={FindXPosition:function(a){var b=0;if(a.offsetParent){while(1){b+=a.offsetLeft;if(!a.offsetParent){break}a=a.offsetParent}}else{if(a.x){b+=a.x}}return b},FindYPosition:function(b){var a=0;if(b.offsetParent){while(1){a+=b.offsetTop;if(!b.offsetParent){break}b=b.offsetParent}}else{if(b.y){a+=b.y}}return a},FindScreenCenteredX:function(c){if(navigator.userAgent&&navigator.userAgent.toLowerCase().indexOf("iphone")>=0){return 10}var b=document.body.clientWidth;var a=document.all?((document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body).scrollLeft:pageXOffset;return Math.max(Math.floor((b-c)/2+a),0)},FindScreenCenteredY:function(c){if(navigator.userAgent&&navigator.userAgent.toLowerCase().indexOf("iphone")>=0){return 10}var b=document.documentElement.clientHeight;var a=document.all?((document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body).scrollTop:pageYOffset;return Math.max(Math.floor(((b-c)/2)+a),0)},ClearFieldDefaultText:function(b,c,a){if(b.value==c){b.value="";b.style.color=a?a:"#000000"}},SetupFieldDefaultText:function(b,c,a){if(b.value==c||b.value==""){b.value=c;b.style.color=a?a:"#969696"}},PreloadImages:function(a){for(var b=0;b<a.length;b++){var c=new Image();c.src=a[b];a[b]=c}},ResizeTextareaToFitContents:function(a,b){while(a.scrollHeight>a.offsetHeight&&a.rows<b){a.rows++}},IsIE:function(){return/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent)}};Pliner.Util.Forms={CreateCookie:function(c,d,e){var a="";if(e){var b=new Date();b.setTime(b.getTime()+(e*24*60*60*1000));a="; expires="+b.toGMTString()}document.cookie=c+"="+d+a+"; path=/"},ReadCookie:function(b){var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return f.substring(e.length,f.length)}}return""},EraseCookie:function(a){CreateCookie(a,"",-1)},GetQueryString:function(){var e=window.location.search.substring(1);var d=e.split("&");var a=new Object();for(var c=0;c<d.length;c++){var g=d[c].indexOf("=");if(g>0){var b=d[c].substring(0,g);var f=d[c].substring(g+1);a[b]=f}}return a},CallbackOnEnterPressed:function(b,a){var c;if(!b){var b=window.event}if(window.event){c=b.keyCode}else{if(b.which){c=b.which}}if(c==13){a();return false}return true},StopBackspaceFromGoingBackAPage:function(){if(typeof(window.event)!="undefined"){document.onkeydown=function(){var b=event.srcElement.type;var a=event.keyCode;return(a!=8||b=="text"||b=="password"||b=="textarea")}}else{document.onkeypress=function(c){var b=c.target.type;var a=c.keyCode;return(a!=8||b=="text"||b=="password"||b=="textarea")}}},ValidateEmail:function(a){return(new RegExp("^[A-Za-z0-9_]+([\\.\\-]?[A-Za-z0-9_])*@[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]*(\\.[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])*(\\.[A-Za-z0-9]{2,4})$","i")).test(a)}};Pliner.Util.DataStructures={PriorityQueue:function(c){var b={items:[],GetLeftChild:function(d){return(2*d)+1},GetParent:function(d){if(d<=0){return -1}return Math.floor((d-1)/2)},GetLargestChild:function(f){var e=b.GetLeftChild(f);var g=e+1;var d=-1;if(e<a.count&&b.items[e]!=null){d=e}if(g<a.count&&b.items[g]!=null&&(d==-1||a.comparer(b.items[e],b.items[g])<0)){d=g}return d}};var a={count:0,comparer:c,Enqueue:function(g){if(g==null){return}var d=a.count;a.count++;b.items[d]=g;while(d>0&&a.comparer(b.items[d],b.items[b.GetParent(d)])>0){var f=b.GetParent(d);var e=b.items[d];b.items[d]=b.items[f];b.items[f]=e;d=f}},Dequeue:function(){if(a.count<=0){return null}var e=b.items[0];b.items[0]=b.items[a.count-1];a.count--;var d=0;var f=b.GetLargestChild(d);while(f>0&&a.comparer(b.items[d],b.items[f])<0){var g=b.items[d];b.items[d]=b.items[f];b.items[f]=g;d=f;f=b.GetLargestChild(d)}return e},Peek:function(){if(a.count<=0){return null}return b.items[0]},Contains:function(e){for(var d=0;d<b.items.length;d++){if(b.items[d]!=null&&b.items[d]==e){return true}}return false},Clear:function(){b.items=[];a.count=0}};return a},LinkedList:function(){var b={head:null,ListLink:function(d,e){var c={obj:d,next:e};return c}};var a={count:0,Add:function(c){a.Insert(c,0)},Insert:function(g,c){var d=b.head;var f=null;var h=0;for(;h<a.count&&h<c;h++){f=d;d=f.next}var e=new b.ListLink(g,null,null);e.next=d;if(f!=null){f.next=e}if(h==0){b.head=e}a.count++},Remove:function(c){a.RemoveAt(a.IndexOf(c))},RemoveAt:function(c){if(c>=a.count||c<0){return}var f=null;var g=null;var e=b.head;for(var d=0;d<a.count&&d<=c;d++){f=g;g=e;e=g.next}if(f!=null){f.next=e}if(c==0){b.head=e}a.count--},Get:function(c){if(c>=a.count||c<0){return null}var f=null;var e=b.head;for(var d=0;d<a.count&&d<=c;d++){f=e;e=f.next}return f.obj},Set:function(g,c){if(c>=a.count||c<0){return}var f=null;var e=b.head;for(var d=0;d<a.count&&d<=c;d++){f=e;e=f.next}f.obj=g},Contains:function(c){return a.IndexOf(c)>=0},IndexOf:function(f){var e=null;var d=b.head;for(var c=0;c<a.count;c++){e=d;d=e.next;if(e.obj==f){return c}}return -1},Clear:function(){b.head=null;a.count=0},ToArray:function(){var f=[];var e=null;var d=b.head;for(var c=0;c<a.count;c++){e=d;f[c]=e.obj;d=e.next}return f}};return a}};