var ie4 = document.all?true:false;
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) var ie=true;
else var ie=false;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var tempX=tempY=0;
var dragme;
var counters=new Array();
var spans=new Array();
var showmenus=new Array();
var hidemenus=new Array();
var timers=new Array();

if(!ie4) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = mousemove;
document.onmousedown=mousedown;
document.onmouseup=mouseup;

function mousedown(e){
 var fobj=nn6 ? e.target : event.srcElement;
 var topelement=nn6 ? "HTML" : "BODY";
 while(fobj.tagName!=topelement && fobj.getAttribute("kind") != "dragdrop"){
  fobj=nn6 ? fobj.parentNode : fobj.parentElement;
 }
 fobj.style.position='relative';
 if(fobj.getAttribute("kind")=="dragdrop"){
  isdrag=true;
  dragme=fobj;
  tx=parseInt(fobj.style.left+0);
  ty=parseInt(fobj.style.top+0);
  x=nn6 ? e.clientX : event.clientX;
  y=nn6 ? e.clientY : event.clientY;
  return false;
 }
}

function mouseup(e){
 isdrag=false;
}

function mousemove(e){
 if(ie4){
  tempX=event.clientX + document.body.scrollLeft;
  tempY=event.clientY + document.body.scrollTop;
 }else{
  tempX=e.pageX;
  tempY=e.pageY;
 }  
 if(tempX<0) tempX=0;
 if(tempY<0) tempY=0;
 if(isdrag){
  dragme.style.left=nn6 ? tx + e.clientX - x : tx + event.clientX - x;
  dragme.style.top=nn6 ? ty + e.clientY - y : ty + event.clientY - y;
  return false;
 }
}

function getObject(id){
 return document.getElementById(id);
}

function spankind(){
 var q=1;
 for(var i=0; i<spans.length; i++){
  if(spans[i].loaded==true) continue;
  spans[i].loaded=true;
  var kind=spans[i].getAttribute("kind");
  var aj=spans[i].getAttribute("ajax");
  var id=spans[i].getAttribute("id");
  if(empty(id)){
   id=spans[i].id='spans-'.q;
   q++;
  }
  if(!kind) continue;
  switch(kind){
   case "counter":
    counters[i]=setInterval("counter("+i+")",'1000');
   break;
   case "dragdrop":
    spans[i].onmouseover=spans[i].style.cursor='move';
   break;
   case "ajaxmenu": /* untested */
    if(empty(spans[i].getAttribute("ajax"))) continue;
    var hide=spans[i].getAttribute("hide");
    if(empty(hide)||!is_numeric(hide)) hide=1;
    var show=spans[i].getAttribute("show");
    if(empty(show)||!is_numeric(show)) show=1;
    var direction=spans[i].getAttribute("direction");
    if(empty(direction)) direction='down';
    var colour=spans[i].getAttribute("colour");
    if(empty(colour)) colour='#388abc';
    var background=spans[i].getAttribute("background");
    if(empty(background)) background='white';
    var moveleft=spans[i].getAttribute("moveleft");
    if(!is_numeric(moveleft)||empty(moveleft)) moveleft=0*1;
    var movedown=spans[i].getAttribute("movedown");
    if(!is_numeric(movedown)||empty(movedown)) movedown=0*1;
    var border=(!empty(spans[i].getAttribute("border"))) ? spans[i].getAttribute("border"): '1px solid #273c57';
    var autoclose=true;
    var open=spans[i].getAttribute("open");
    if(empty(open)) open='onclick';
    spans[i].style.cursor='pointer';
    spans[i].id='tag'+i+'-c';
    spans[i].style.color=colour;
    if(open=='onmouseover') spans[i].onmouseover=new Function('getObject(\'menu'+i+'-c\').style.display=\'block\';if(this.getAttribute("direction")=="up"){ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+'-getEleHeight("menu'+i+'-c");}else{ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+';}getObject("menu'+i+'-c").style.left=getObjectLeft(this)*1+'+moveleft+';clearTimeout(hidemenus['+i+']);'); 
    else{
     spans[i].onclick=new Function('getObject(\'menu'+i+'-c\').style.display=\'block\';if(this.getAttribute("direction")=="up"){ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+'-getEleHeight("menu'+i+'-c");}else{ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+';}getObject("menu'+i+'-c").style.left=getObjectLeft(this)*1+'+moveleft+';');
     spans[i].onmouseover=new Function('clearTimeout(hidemenus['+i+']);');
    }
    spans[i].onmouseout=new Function('hidemenus['+i+']=setTimeout("getObject(\'menu'+i+'-c\').style.display=\'none\'",1000*'+hide+');');
    var newdiv=document.createElement('div');
    insertAfter(spans[i],newdiv);
    newdiv.id='menu'+i+'-c';
    newdiv.innerHTML=ajax('menu'+i+'-c',spans[i].getAttribute("ajax"));
    newdiv.style.display='none';
    newdiv.style.position='absolute';
    newdiv.style.background=background;
    newdiv.style.padding='5px';
    newdiv.style.border=border;
    newdiv.onmouseover=new Function('clearTimeout(hidemenus['+i+']);');
    newdiv.onmouseout=new Function('hidemenus['+i+']=setTimeout("getObject(\'menu'+i+'-c\').style.display=\'none\';",1000*'+hide+');');
   break;
   case "menu":
    if(empty(spans[i].getAttribute("body"))) continue;
    var hide=spans[i].getAttribute("hide");
    if(empty(hide)||!is_numeric(hide)) hide=1;
    var show=spans[i].getAttribute("show");
    if(empty(show)||!is_numeric(show)) show=1;
    var direction=spans[i].getAttribute("direction");
    if(empty(direction)) direction='down';
    var colour=spans[i].getAttribute("colour");
    if(empty(colour)) colour='#388abc';
    var background=spans[i].getAttribute("background");
    if(empty(background)) background='#388abc';
    var border=(!empty(spans[i].getAttribute("border"))) ? spans[i].getAttribute("border"): '1px solid #273c57';
    var moveleft=spans[i].getAttribute("moveleft");
    if(!is_numeric(moveleft)||empty(moveleft)) moveleft=0*1;
    var movedown=spans[i].getAttribute("movedown");
    if(!is_numeric(movedown)||empty(movedown)) movedown=0*1;
    var autoclose=(spans[i].getAttribute("autoclose")!="false");
    var open=spans[i].getAttribute("open");
    if(empty(open)) open='onclick';
    spans[i].style.cursor='pointer';
    spans[i].id='tag'+i+'-c';
    spans[i].style.color=colour;
    if(open=='onmouseover') spans[i].onmouseover=new Function('getObject(\'menu'+i+'-c\').style.display=\'block\';if(this.getAttribute("direction")=="up"){ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+'-getEleHeight("menu'+i+'-c");}else{ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+';}getObject("menu'+i+'-c").style.left=getObjectLeft(this)*1+'+moveleft+';clearTimeout(hidemenus['+i+']);'); 
    else{
     spans[i].onclick=new Function('getObject(\'menu'+i+'-c\').style.display=\'block\';if(this.getAttribute("direction")=="up"){ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+'-getEleHeight("menu'+i+'-c");}else{ getObject("menu'+i+'-c").style.top=getObjectTop(this)*1+'+movedown+';}getObject("menu'+i+'-c").style.left=getObjectLeft(this)*1+'+moveleft+';');
     spans[i].onmouseover=new Function('clearTimeout(hidemenus['+i+']);');
    }
    if(autoclose) spans[i].onmouseout=new Function('hidemenus['+i+']=setTimeout("getObject(\'menu'+i+'-c\').style.display=\'none\'",10);');
    var newdiv=document.createElement('div');
    if(!autoclose) newdiv.innerHTML='<a onclick="getObject(\'menu'+i+'-c\').style.display=\'none\';"><img src="images/delete.gif" style="cursor:pointer;float:right;"></a>'+spans[i].getAttribute("body");
    else newdiv.innerHTML=spans[i].getAttribute("body");
    newdiv.id='menu'+i+'-c';
    newdiv.style.display='none';
    newdiv.style.position='absolute';
    newdiv.style.background=background;
    newdiv.style.padding='5px';
    newdiv.style.border=border;
    newdiv.onmouseover=new Function('clearTimeout(hidemenus['+i+']);');
    if(autoclose) newdiv.onmouseout=new Function('hidemenus['+i+']=setTimeout("getObject(\'menu'+i+'-c\').style.display=\'none\';",10);');
    insertAfter(spans[i],newdiv);
   break;
   case "lightbox":
    if(empty(spans[i].getAttribute("body"))) continue;
    spans[i].style.cursor='pointer';
    spans[i].style.color='#c18c94';
    spans[i].id='tag'+i+'-c';
    spans[i].onclick=new Function('getObject("menu'+i+'-c").style.display=\'block\';getObject("menu'+i+'-c").style.height=getEleHeight("body");');
    var newdiv=document.createElement('div');
    newdiv.innerHTML='<table style="height:100%;width:100%;"><tr><td style="background:url(images/50transparent.png);" align=center valign=middle>'+spans[i].getAttribute("body")+'</td></tr></table>';
    newdiv.id='menu'+i+'-c';
    newdiv.style.display='none';
    newdiv.style.position='absolute';
    newdiv.style.left=0;
    newdiv.style.top=0;
    newdiv.style.cursor='pointer';
    newdiv.style.width='100%';
    newdiv.onclick=new Function('getObject(\'menu'+i+'-c\').style.display=\'none\';');
    insertAfter(getObject('body'),newdiv);
   break;
   case "collapse":
    if(empty(spans[i].getAttribute("body"))) continue;
    var n=spans[i].getAttribute("name");
    spans[i].setAttribute('open',false);
    spans[i].style.cursor='pointer';
    spans[i].id='collapse'+i;
    spans[i].style.color='#358fc3';
    var show=(getCookie('collapse['+n+']['+i+']')=='shown') ? '-' : '+';
    spans[i].innerHTML='<span id="collapse'+i+'-a" style="float:left;margin-right:10px;" align=center>'+show+'</span>'+spans[i].innerHTML;
    var newdiv=document.createElement('div');
    newdiv.innerHTML=spans[i].getAttribute("body");
    newdiv.style.display=(getCookie('collapse['+n+']['+i+']')=='shown') ? 'block' : 'none';
    newdiv.style.paddingLeft='20px';
    newdiv.id='collapse'+i+'-c';
    insertAfter(spans[i],newdiv);
    spans[i].onclick=new Function('collapse('+i+',"'+n+'")');
   break;
  }
 }
}

function getCookie(c_name){
 if(document.cookie.length>0){
  c_start=document.cookie.indexOf(c_name + "=");
  if(c_start!=-1){
   c_start=c_start + c_name.length+1;
   c_end=document.cookie.indexOf(";",c_start);
   if(c_end==-1) c_end=document.cookie.length;
   return unescape(document.cookie.substring(c_start,c_end));
  }
 }
 return "";
}

function insertAfter(first, second) {
 first.parentNode.insertBefore(second,first);
 second.parentNode.insertBefore(first,second);
}

function collapse(id,n){
 if(getObject('collapse'+id+'-c').style.display=='none'){
  getObject('collapse'+id+'-c').style.display='block';
  getObject('collapse'+id+'-a').innerHTML='-';
  setCookie('collapse['+n+']['+id+']','shown');
 }else{
  getObject('collapse'+id+'-c').style.display='none';
  getObject('collapse'+id+'-a').innerHTML='+';
  setCookie('collapse['+n+']['+id+']','hidden');
 }
}

function counter(id){
 var val=spans[id].getAttribute("innerHTML");
 if(isNaN(val)) val=unmake_time(val);
 if(isNaN(val)) val=0;
 val++;
 spans[id].innerHTML=make_time(val);
}

function unmake_time(string){
 var string=string.split(' ');
 string=string.reverse();
 var hours=minutes=seconds=out=0*1;
 if(string.length>=3){
  hours=string[2].substring(0,string[2].length-1)*1;
  out+=hours*3600;
 }
 if(string.length>=2){
  minutes=string[1].substring(0,string[1].length-1)*1;
  out+=minutes*60;
 }
 seconds=string[0].substring(0,string[0].length-1)*1;
 out+=seconds;
 return out*1;
}

function make_time(integer){
 var minutes=hours=0;
 var string='';
 while(integer>=3600){
  integer-=3600;
  hours++;
 }
 while(integer>=60){
  integer-=60;
  minutes++;
 }
 if(hours>0) string+=hours+'h ';
 if(minutes>0||hours>0) string+=minutes+'m ';
 string+=integer+'s';
 return string;
}

function SimpleSwap(el,which){
 el.src=el.getAttribute(which || "origsrc");
}

var images=document.getElementsByTagName("img");

function SimpleSwapSetup(){
 for(var i=0; i<images.length; i++){
  images[i].loaded=false;
  var oversrc=images[i].getAttribute("oversrc");
  var clicksrc=images[i].getAttribute("clicksrc");
  if(oversrc){
   images[i].oversrc_img=new Image();
   images[i].oversrc_img.src=oversrc;
   images[i].onmouseover=new Function("SimpleSwap(this,'oversrc');");
   images[i].onmouseout=new Function("SimpleSwap(this);");
   images[i].setAttribute("origsrc",images[i].src);
  }
  if(clicksrc){
   images[i].clicksrc_img=new Image();
   images[i].clicksrc_img.src=clicksrc;
   images[i].onmousedown=new Function("SimpleSwap(this,'clicksrc');");
   if(oversrc) images[i].onmouseup=new Function("SimpleSwap(this,'oversrc');");
   else images[i].onmouseup=new Function("SimpleSwap(this);");
   images[i].setAttribute("origsrc",images[i].src);
  }
 }
}

function currency(el){
 var temp='';
 var tempval=el.value;
 for(var t=0; t<el.value.length; t++){
  var letter=tempval.substring(0, 1);
  tempval=tempval.substring(1, tempval.length);
  if(letter=='1'||letter=='2'||letter=='3'||letter=='4'||letter=='5'||letter=='6'||letter=='7'||letter=='8'||letter=='9'||letter=='0') temp+=letter;
 }
 el.value=temp.substring(0, temp.length-2)+'.'+temp.substring(temp.length-2, temp.length);
}

function inputkind(colour,defcolour){
 var x=document.getElementsByTagName("input");
 for(var i=0; i<x.length; i++){
  if(x[i].done=='true') continue;
  x[i].setAttribute("done",true);
  var type=x[i].getAttribute("type");
  var autoclear=(x[i].getAttribute("autoclear")=='false');
  if(type=='file') continue;
  var kind=x[i].getAttribute("kind");
  kind=cu(explode('|',kind));
  var def=(x[i].getAttribute("default")==null) ? '' : x[i].getAttribute("default");
  var c=(x[i].getAttribute("colour")==null)? colour:x[i].getAttribute("colour");
  var dc=(x[i].getAttribute("defcolour")==null)? defcolour:x[i].getAttribute("defcolour");
  var onblur=(x[i].onblur!=undefined)? x[i].onblur:'';
  var onfocus=(x[i].onfocus!=undefined)? x[i].onfocus:'';
  var onkeydown=(x[i].onkeydown!=undefined)? x[i].onkeydown:'';
  var onkeyup=(x[i].onkeyup!=undefined)? x[i].onkeyup:'';
  for(var j=0; j<kind.length; j++){
   switch(kind[j]){
    case "phone":
     x[i].maxLength='14';
     onkeydown+="numonly(this);";
     onkeyup+="numonly(this);";
     onblur+="phone(this);";
    break;
    case "postalcode":
     onblur+="postalcode(this);";
    break;
    case "currency":
     onkeydown+="numonly(this);";
     onkeyup+="numonly(this,1);";
     onblur+="currency(this);";
    break;
    case "numonly":
     onkeyup+="numonly(this);";
     onkeydown+="numonly(this);";
    break;   }
  }
  if(!empty(def)){
   if(empty(x[i].value)){
    if(!ie4) x[i].innerHTML=x[i].value=def;
    else x[i].value=def;
    try{x[i].type='text';}catch(e){}
    x[i].style.color=dc;
   }
   onfocus+="try{this.type='"+type+"';}catch(e){}this.style.color='"+c+"';if(this.value=='"+def+"'){ this.value='';}";
   onblur+="if(empty(this.value)&&this.value!='0'){this.style.color='"+dc+"';try{this.type='text';}catch(e){}this.value='"+def+"';}";
  }
  x[i].onblur=new Function(onblur);
  x[i].onfocus=new Function(onfocus);
  x[i].onkeydown=new Function(onkeydown);
  x[i].onkeyup=new Function(onkeyup);
 }
 var x=document.getElementsByTagName("textarea");
 for(var i=0; i<x.length; i++){
  if(x[i].done=='true') continue;
  x[i].setAttribute("done",true);
  var def=(x[i].getAttribute("default")==null) ? '' : x[i].getAttribute("default");
  var c=(x[i].getAttribute("colour")==null)? colour:x[i].getAttribute("colour");
  var dc=(x[i].getAttribute("defcolour")==null)? defcolour:x[i].getAttribute("defcolour");
  var onblur=(x[i].onblur!=undefined)? x[i].onblur:'';
  var onfocus=(x[i].onfocus!=undefined)? x[i].onfocus:'';
  var onkeydown=(x[i].onkeydown!=undefined)? x[i].onkeydown:'';
  var onkeyup=(x[i].onkeyup!=undefined)? x[i].onkeyup:'';
  if(!empty(def)){
   if(empty(x[i].innerHTML)){
    x[i].innerHTML=def;
    x[i].style.color=dc;
   }
   onfocus+="if(this.innerHTML=='"+def+"'||this.value=='"+def+"'){ this.innerHTML=this.value='';this.style.color='"+c+"';}";
   onblur+="if(empty(this.innerHTML)&&empty(this.value)){this.style.color='"+dc+"';this.value=this.innerHTML='"+def+"';}";
  }
  x[i].onblur=new Function(onblur);
  x[i].onfocus=new Function(onfocus);
  x[i].onkeydown=new Function(onkeydown);
  x[i].onkeyup=new Function(onkeyup);
 }
}

function formsubmit(webpage,target){
 if(target==null) target='_top';
 document.form.target=target;
 document.form.action=webpage;
 var inputs=document.getElementsByTagName("input");
 for(var i=0; i<inputs.length; i++) if(inputs[i].getAttribute("default")==inputs[i].value&&inputs[i].value!=0&&inputs[i].getAttribute("autoclear")!='false') inputs[i].value='';
 var inputs=document.getElementsByTagName("textarea");
 for(var i=0; i<inputs.length; i++) if(inputs[i].getAttribute("default")==inputs[i].value&&inputs[i].value!=0&&inputs[i].getAttribute("autoclear")!='false') inputs[i].value='';
 document.form.submit();
}

function formconfirm(message,webpage,target){
 var conf=confirm(message);
 if(conf) formsubmit(webpage,target);
}

function phone(el){
 var out=temp="";
 var tempval=el.value;
 for(var t=0; t<el.value.length; t++){
  var letter=tempval.substring(0, 1);
  tempval=tempval.substring(1, tempval.length);
  if(letter=='1'||letter=='2'||letter=='3'||letter=='4'||letter=='5'||letter=='6'||letter=='7'||letter=='8'||letter=='9'||letter=='0') temp+=letter;
 }
 if(empty(temp)) return '';
 for(var t=0; t<14; t++){
  if(t==0) out+='(';
  else if(t==4){
   out+=') ';
   t++;
  }else if(t==9) out+='-';
  else{
   var number=temp.substring(0,1);
   temp=temp.substring(1, temp.length);
   out+=number;
  }
 }
 el.value=out;
}

function currency(el){
 var temp='';
 var tempval=el.value;
 for(var t=0; t<el.value.length; t++){
  var letter=tempval.substring(0, 1);
  tempval=tempval.substring(1, tempval.length);
  if(letter=='1'||letter=='2'||letter=='3'||letter=='4'||letter=='5'||letter=='6'||letter=='7'||letter=='8'||letter=='9'||letter=='0') temp+=letter;
 }
 el.value=temp.substring(0, temp.length-2)+'.'+temp.substring(temp.length-2, temp.length);
}

function numonly(el,phone){
 var temp="";
 var tempval=el.value;
 for(var t=0; t<el.value.length; t++){
  var letter=tempval.substring(0, 1);
  tempval=tempval.substring(1, tempval.length);
  if(temp.length==14&&phone==1) break;
  if(letter=='1'||letter=='2'||letter=='3'||letter=='4'||letter=='5'||letter=='6'||letter=='7'||letter=='8'||letter=='9'||letter=='0'||letter=='('||letter==')'||letter==' '||letter=='-'||letter=='.') temp+=letter;
 }
 el.value=temp;
}

function postalcode(el){
 var temp='';
 var tempval=el.value;
 for(var t=0; t<el.value.length; t++){
  if(t>'5') continue;
  var letter=tempval.substring(0, 1);
  tempval=tempval.substring(1, tempval.length);
  if(t=='3') temp+=' ';
  temp+=letter;
 }
 el.value=temp;
}

function ajaxsubmit(div,file){
 var forms=document.getElementsByTagName("input");
 var data=new Array();
 var k=0;
 for(var i=0; i<forms.length; i++){
  if(forms[i].getAttribute("default")==forms[i].value) forms[i].value='';
  switch(forms[i].type){
   case "radio":
    if(forms[i].checked==true){
     data[k]=forms[i].name+'='+forms[i].value;
     k++;
    }
   break;
   case "text":
   case "textbox":
    if(!empty(forms[i].value)){
     data[k]=forms[i].name+'='+forms[i].value;
     k++;
    }
   break;
  }
 }
 if(file.indexOf('?')==-1) var file=file+'?'+data.join('&');
 else var file=file+'&'+data.join('&');
 ajax(div,urlencode(file));
}

function ajax(target_div,file){
 var MyHttpRequest = false;
 if(window.XMLHttpRequest){
  try{
   MyHttpRequest = new XMLHttpRequest();
  }catch(e){
   MyHttpRequest = false;
  }
 }else if(window.ActiveXObject){
  try{
   MyHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
  }catch(e){
   try{
    MyHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
   }catch(e){
    MyHttpRequest = false;
   }
  }
 }else MyHttpRequest = false;
 if(MyHttpRequest){
  MyHttpRequest.open("POST", file, true);
  MyHttpRequest.onreadystatechange = function (){
   if(MyHttpRequest.readyState == 4){
    document.getElementById(target_div).innerHTML = MyHttpRequest.responseText;
    inputkind();
    spankind();
   }else getObject(target_div).innerHTML='<img src="images/loading.gif">';
  }
  MyHttpRequest.send(null);
 }else document.getElementById(target_div).innerHTML = 'Sorry - No XMLHTTP support in your browser, buy a newspaper instead';
}

function urlencode(string){
 var string;
 var safechars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/-_.&?=";
 var hex = "0123456789ABCDEF";
 var encoded_string="";
 for(var i=0; i<string.length; i++){
  var character = string.charAt(i);
  if(character == " ") encoded_string += "+";
  else if(safechars.indexOf(character) != -1) encoded_string += character;
  else{
   var hexchar = character.charCodeAt(0);
   if(hexchar > 255) encoded_string += "+";
   else{
    encoded_string += "%";
    encoded_string += hex.charAt((hexchar >> 4) & 0xF);
    encoded_string += hex.charAt(hexchar & 0xF);
   }
  }
 }
 return encoded_string;
}

function selectfirstinput(int){
 var inputs=document.getElementsByTagName("input");
 var i=0;
 for(var i=0; i<inputs.length; i++){
  var type=inputs[i].getAttribute("type");
  if(type!='text'&&type!='textbox') continue;
  i++;
  if(i==int){
   inputs[i].focus();
   break;
  }
 }
}

function playSound(id){
 if(document.embeds) document.embeds["sound"+id].play();
}

function autoform(){
 var a=document.getElementsByTagName("a");
 var url=location.href.substr(0,location.href.lastIndexOf('/')+1);
 for(i=0; i<a.length; i++){
  var target=a[i].getAttribute("to");
  if(target==null) target='';
  var href=a[i].getAttribute("href");
  if(href==''||href.indexOf('javascript')!='-1'||href.indexOf(url)=='-1') continue;
  a[i].href='javascript:formsubmit("'+href+'","'+target+'");';
 }
}

function swatch(url){
 var picture=getObject('picture');
 if(picture.src.indexOf(url)==-1) picture.src=url;
}

function check(el,un){
 el=getObject(el);
 el.checked=(un=='on');
}

function unselect(el){
 el=getObject(el);
 info=el.childNodes;
 for(var i=0; i<info.length;i++){
  if(info[i].tagName!='OPTION') continue;
  info[i].selected=false;
 }
}

function is_hex(hex){
 if(hex.indexOf('#')!=-1) hex=hex.substr(1);
 hex=hex.toLowerCase();
 if(hex.length=='3'){
  var out='';
  for(var i=0; i<hex.length; i++) out+=hex.substr(i,1)+hex.substr(i,1);
  hex=out;
 }
 if(hex.length!='6') return false;
 for(var i=0; i<hex.length; i++){
  if(hex.substr(i,1)!=1&&hex.substr(i,1)!=2&&hex.substr(i,1)!=3&&hex.substr(i,1)!=4&&hex.substr(i,1)!=5&&hex.substr(i,1)!=6&&hex.substr(i,1)!=7&&hex.substr(i,1)!=8&&hex.substr(i,1)!=9&&hex.substr(i,1)!=0&&hex.substr(i,1)!='a'&&hex.substr(i,1)!='b'&&hex.substr(i,1)!='c'&&hex.substr(i,1)!='d'&&hex.substr(i,1)!='e'&&hex.substr(i,1)!='f') return false;
 }
 return true;
}

function getEleHeight(id){
 return getObject(id).offsetHeight;
}

function getEleWidth(id){
 return getObject(id).offsetWidth;
}

var md5= function (string){
 function RotateLeft(lValue, iShiftBits){
  return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
 }

 function AddUnsigned(lX,lY){
  var lX4,lY4,lX8,lY8,lResult;
  lX8 = (lX & 0x80000000);
  lY8 = (lY & 0x80000000);
  lX4 = (lX & 0x40000000);
  lY4 = (lY & 0x40000000);
  lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
  if(lX4 & lY4){
   return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
  }
  if(lX4 | lY4){
   if(lResult & 0x40000000){
    return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
   }else{
    return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
   }
  }else{
   return (lResult ^ lX8 ^ lY8);
  }
 }

 function F(x,y,z){ return (x & y) | ((~x) & z); }
 function G(x,y,z){ return (x & z) | (y & (~z)); }
 function H(x,y,z){ return (x ^ y ^ z); }
 function I(x,y,z){ return (y ^ (x | (~z))); }

 function FF(a,b,c,d,x,s,ac){
  a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
  return AddUnsigned(RotateLeft(a, s), b);
 };

 function GG(a,b,c,d,x,s,ac){
  a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
  return AddUnsigned(RotateLeft(a, s), b);
 };

 function HH(a,b,c,d,x,s,ac){
  a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
  return AddUnsigned(RotateLeft(a, s), b);
 };

 function II(a,b,c,d,x,s,ac){
  a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
  return AddUnsigned(RotateLeft(a, s), b);
 };

 function ConvertToWordArray(string){
  var lWordCount;
  var lMessageLength = string.length;
  var lNumberOfWords_temp1=lMessageLength + 8;
  var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
  var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
  var lWordArray=Array(lNumberOfWords-1);
  var lBytePosition = 0;
  var lByteCount = 0;
  while ( lByteCount < lMessageLength ){
   lWordCount = (lByteCount-(lByteCount % 4))/4;
   lBytePosition = (lByteCount % 4)*8;
   lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
   lByteCount++;
  }
  lWordCount = (lByteCount-(lByteCount % 4))/4;
  lBytePosition = (lByteCount % 4)*8;
  lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
  lWordArray[lNumberOfWords-2] = lMessageLength<<3;
  lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
  return lWordArray;
 };

 function WordToHex(lValue){
  var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
  for (lCount = 0;lCount<=3;lCount++){
   lByte = (lValue>>>(lCount*8)) & 255;
   WordToHexValue_temp = "0" + lByte.toString(16);
   WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
  }
  return WordToHexValue;
 };

 function Utf8Encode(string){
  string = string.replace(/\r\n/g,"\n");
  var utftext = "";
  for (var n = 0; n < string.length; n++){
   var c = string.charCodeAt(n);
   if (c < 128){
    utftext += String.fromCharCode(c);
   }else if((c > 127) && (c < 2048)){
    utftext += String.fromCharCode((c >> 6) | 192);
    utftext += String.fromCharCode((c & 63) | 128);
   }else{
    utftext += String.fromCharCode((c >> 12) | 224);
    utftext += String.fromCharCode(((c >> 6) & 63) | 128);
    utftext += String.fromCharCode((c & 63) | 128);
   }
  }
  return utftext;
 };

 var x=Array();
 var k,AA,BB,CC,DD,a,b,c,d;
 var S11=7, S12=12, S13=17, S14=22;
 var S21=5, S22=9 , S23=14, S24=20;
 var S31=4, S32=11, S33=16, S34=23;
 var S41=6, S42=10, S43=15, S44=21;
 string = Utf8Encode(string);
 x = ConvertToWordArray(string);
 a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
 for (k=0;k<x.length;k+=16){
  AA=a; BB=b; CC=c; DD=d;
  a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
  d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
  c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
  b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
  a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
  d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
  c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
  b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
  a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
  d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
  c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
  b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
  a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
  d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
  c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
  b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
  a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
  d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
  c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
  b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
  a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
  d=GG(d,a,b,c,x[k+10],S22,0x2441453);
  c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
  b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
  a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
  d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
  c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
  b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
  a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
  d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
  c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
  b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
  a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
  d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
  c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
  b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
  a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
  d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
  c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
  b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
  a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
  d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
  c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
  b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
  a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
  d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
  c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
  b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
  a=II(a,b,c,d,x[k+0], S41,0xF4292244);
  d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
  c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
  b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
  a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
  d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
  c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
  b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
  a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
  d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
  c=II(c,d,a,b,x[k+6], S43,0xA3014314);
  b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
  a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
  d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
  c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
  b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
  a=AddUnsigned(a,AA);
  b=AddUnsigned(b,BB);
  c=AddUnsigned(c,CC);
  d=AddUnsigned(d,DD);
 }
 var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
 return temp.toLowerCase();
}

function istag(string){
 return (string.substr(0,1)=='<') ? true : false;
}

function isclosetag(string){
 return (string.substr(1,2)=='/') ? true : false;
}

function openmenu(id){
 getObject(id+'-menu').style.display="inline";
 spans[id].setAttribute('open',true);
}

function closemenu(id){
 getObject(id+'-menu').style.display="none";
 spans[id].setAttribute('open',false);
}

function getObjectLeft(eElement){
 var nLeftPos = eElement.offsetLeft;
 var eParElement = eElement.offsetParent;
 while (eParElement != null){
  nLeftPos += eParElement.offsetLeft;
  eParElement = eParElement.offsetParent;
 }
 return nLeftPos;
}

function getObjectTop(eElement){
 var nTopPos = eElement.offsetTop;
 var eParElement = eElement.offsetParent;
 while (eParElement != null){
  nTopPos += eParElement.offsetTop;
  eParElement = eParElement.offsetParent;
 }
 return nTopPos;
}

function fontup(){
 var td=document.getElementsByTagName("td");
 for(var i=0; i<td.length; i++){
  var stopfont=(td[i].getAttribute("stopfont")=='true');
  if(stopfont==true) continue;
  var font=parseInt(td[i].style.fontSize.replace("px",""));
  if(!is_numeric(font)) font=14;
  font++;
  td[i].style.fontSize=font+'px';
 }
}

function fontdown(){
 var td=document.getElementsByTagName("td");
 for(var i=0; i<td.length; i++){
  var stopfont=(td[i].getAttribute("stopfont")=='true');
  if(stopfont==true) continue;
  var font=parseInt(td[i].style.fontSize.replace("px",""));
  if(!is_numeric(font)) font=14;
  font--;
  if(font<0) continue;
  td[i].style.fontSize=font+'px';
 }
}

function calendar(){
 if(!empty(getObject('calendar').innerHTML)){
  var l=location.href;
  l=l.split('#');
  l=l[1];
  try{
   var h=getObjectTop(getObject('event['+l+']'));
   if(h>400) window.scrollTo(0,h);
  }catch(e){}
  clearTimeout(timers['calendar']);
 }
}

function cu(a){
 if(!is_array(a)) return trim(a);
 var out=array();
 for(var i=0; i<a.length; i++){
  if(is_array(a[i])) a[i]=cu(a[i]);
  if(!empty(a[i])) out[out.length]=(!is_array(a[i]))? trim(a[i]) : a[i];
 }
 return out;
}

function ajaxfilemanager(field_name, url, type, win) {
	var ajaxfilemanagerurl = "../../../../jscripts/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php";
	switch (type) {
		case "image":
		break;
		case "media":
		break;
		case "flash": 
		break;
		case "file":
		break;
		default:
		return false;
	}
 tinyMCE.activeEditor.windowManager.open({
  url: "../../../../jscripts/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php",
  width: 782,
  height: 440,
  inline : "yes",
  close_previous : "no"
 },{
  window : win,
  input : field_name
 });
}

function popup(anchor, options) {
	var args = '';
	if (typeof(options) == 'undefined') { var options = new Object(); }
	if (typeof(options.name) == 'undefined') { options.name = 'win' + Math.round(Math.random()*100000); }
	if (typeof(options.height) != 'undefined' && typeof(options.fullscreen) == 'undefined')	args += "height=" + options.height + ",";
	if (typeof(options.width) != 'undefined' && typeof(options.fullscreen) == 'undefined')	args += "width=" + options.width + ",";
	if (typeof(options.fullscreen) != 'undefined') {
		args += "width=" + screen.availWidth + ",";
		args += "height=" + screen.availHeight + ",";
	}
	if (typeof(options.center) == 'undefined') {
		options.x = 0;
		options.y = 0;
		args += "screenx=" + options.x + ",";
		args += "screeny=" + options.y + ",";
		args += "left=" + options.x + ",";
		args += "top=" + options.y + ",";
	}
	if (typeof(options.center) != 'undefined' && typeof(options.fullscreen) == 'undefined') {
		options.y=Math.floor((screen.availHeight-(options.height || screen.height))/2)-(screen.height-screen.availHeight);
		options.x=Math.floor((screen.availWidth-(options.width || screen.width))/2)-(screen.width-screen.availWidth);
		args += "screenx=" + options.x + ",";
		args += "screeny=" + options.y + ",";
		args += "left=" + options.x + ",";
		args += "top=" + options.y + ",";
	}
	if (typeof(options.scrollbars) != 'undefined') { args += "scrollbars=1,"; }
	if (typeof(options.menubar) != 'undefined') { args += "menubar=1,"; }
	if (typeof(options.locationbar) != 'undefined') { args += "location=1,"; }
	if (typeof(options.resizable) != 'undefined') { args += "resizable=1,"; }
	var win = window.open(anchor, options.name, args);
	return false;
}

