﻿if (document.images){
	var arImageSrc = new Array("calbg.png","bodybg.gif","morning.jpg","arwr.gif","helpicon.png","arwl.gif","arwrwhite.gif","cbuntick_al.png","cbuntick_op.png","cbuntick.png","cbtick.png","circle.png","loadsmall.gif","modalbg.png","titlebg.png","zoom.cur","bullet.png","toparrow.gif","modalbg.png");
	    for (counter in arImageSrc) {
	        var ni = new Image();
			ni.src = "./App_Themes/default/images/" + arImageSrc[counter];
		}
	arImageSrc = new Array("arrback.png","arrforward.png","calendar.png", "trend0.png", "trend1.png", "trend2.png", "trend3.png", "trend4.png");
	
		for (counter in arImageSrc) {
			var ni = new Image();
			ni.src = "./images/" + arImageSrc[counter];
		}		 
} 

function HideMessage(){
 _get("divEnableScripting").style.display="none";
 }
 
function UserLogin() {
  var u = _get('ipUsername').value;
  var p = _get('ipPassword').value;
  var c = false;
  if (_get("cbSaveLogin").className=="cbTrue") {c=true}
  if (ValidateLogin(u,p))
   Sys.Services.AuthenticationService.login(u, p, c, null, null, LoginSuccess, LoginError);
}

function UserLogout() {
   if (confirm(strUserLogout))
     Sys.Services.AuthenticationService.logout(null, null, LogoutError);
}   

function LogoutError(ex){
  var txtError = _get("pError");
  if (txtError)
   txtError.innerHTML = ex.get_message();
  else {
   _remove("dWelcome","dvTextContainer");
   alert(ex.get_message());
  }  
}
 
function GetMenuContent(ln){
  MainRidge.ContentService.GetMenu(ln,MenuSuccess);
}

function MenuSuccess(result){
  if (_get("pMenu")){
   _get("pMenu").innerHTML = result;
   fadeOut("pMenuCover",100);
  } 
}

function GetContent(data,ln){
  _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
  var nContainer = _new("div","dvTextContainer", "dWelcome");
  var nCover = _new("div","dvTextCover", "dWelcome");
  setcookie("cContent",data + "+" + ln)
  var c = MainRidge.ContentService.GetContent(data,ln,ContentSuccess,ContentError);
}

function GetGallery(data,ln){
  _remove("dWelcome","imTopScroll,imBottomScroll");
  _get("binfo").innerHTML = strLoadGallery;
  MainRidge.ContentService.GetGallery(data,ln,GallerySuccess,GalleryError);
}

function GetCalendar(ndate){
  if ((_get("CalContainer"))&&(_get("CalContainer").childNodes.length!=0)){
    _remove("dvNavCal","CalContainer");
  }
  else {
   _remove("dvNavCal","CalContainer");
   var cc = _new("div","CalContainer","dvNavCal");
   cc.innerHTML = "";
   cc.className = "CalContainer";
   MainRidge.ContentService.Calendar(ndate,CalendarSuccess,CalendarError);
  }  
}

function ChangeCalendar(ndate){
    _get("CalContainer").innerHTML = "";
    MainRidge.ContentService.Calendar(ndate,CalendarSuccess,CalendarError);
}

function CalendarSuccess(result) {
 _get("CalContainer").innerHTML=result;
 DateSelector(_get("hidSelDate").value)
}

function CalendarError(ex) {
  _get("CalContainer").innerHTML=ex.get_message();
}

function DateSelector(dt){
 var selDate = new Date();
 var daysToDisplay = 42
 if (dt)
  selDate = ParseDate(dt);
 var startDate = new Date(selDate.getFullYear(),selDate.getMonth(),1)
 var dayOfWeek = startDate.getDay();
 while (dayOfWeek!=1){
  startDate = DaysToDate(startDate,-1);
  dayOfWeek = startDate.getDay();
 }
 startDate =  DaysToDate(startDate,-7);
 var currentDate = new Date();
 var todayDate = new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate())
 for (var i = 0; i < daysToDisplay; ++ i){
   var di = new String(startDate.getDate() + "," + startDate.getMonth() + "," + startDate.getFullYear());
   var d = _new("span",di,"dvDateCont");
   dayOfWeek = startDate.getDay();
   d.innerHTML = startDate.getDate();
   if (startDate<=todayDate) {
     if ((dayOfWeek!=0)&&(dayOfWeek!=6)){
        d.onclick = SetCalDate;
        if (d.captureEvents)
         d.captureEvents(Event.CLICK);
     }
     else if (!CompareDates(startDate,currentDate))
        d.className = "calWe";
   }
   else
     d.className = "calWe";
   if (CompareDates(startDate,currentDate)) {
     d.className = "today";
   }
   startDate =  DaysToDate(startDate,1);
 }
}
function GetComments(dt) {
  _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
  var nContainer = _new("div","dvTextContainer", "dWelcome");
  var nCover = _new("div","dvTextCover", "dWelcome");
  setcookie("cContent","d=" + dt)
  MainRidge.ContentService.GetComments(dt,ContentSuccess,ContentError);
}

function DeleteBlog(dt,id) {
   if (confirm(strDeleteComment)) {
     _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
     var nContainer = _new("div","dvTextContainer", "dWelcome");
     var nCover = _new("div","dvTextCover", "dWelcome");
     MainRidge.ContentService.DeleteBlog(dt,id,ContentSuccess,ContentError);
   }  
}

function DeleteComment(dt,id) {
   if (confirm(strDeleteComment)) {
     _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
     var nContainer = _new("div","dvTextContainer", "dWelcome");
     var nCover = _new("div","dvTextCover", "dWelcome");
     MainRidge.ContentService.DeleteComment(dt,id,ContentSuccess,ContentError);
   }  
}

function GetBlog(dt,id) {
  _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
  var nContainer = _new("div","dvTextContainer", "dWelcome");
  var nCover = _new("div","dvTextCover", "dWelcome");
  setcookie("cContent","d=" + dt)
  MainRidge.ContentService.GetBlog(dt,id,ContentSuccess,ContentError);
}

function EditUser(id,a) {
  if ((a==0)){ 
     var modal = _new("div","dvModal","dvTextContainer")
     var EditContainer = _new("div","dvEditContainer","dvTextContainer");
     MainRidge.ContentService.EditUser(id,a,EditUserSuccess,EditUserError);
  }
  else
   if (confirm(strDeleteUser + id)) {
     _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
     var nContainer = _new("div","dvTextContainer", "dWelcome");
     var nCover = _new("div","dvTextCover", "dWelcome");
     setcookie("cContent","d=" + id)
     MainRidge.ContentService.EditUser(id,a,ContentSuccess,ContentError);
   }    
}

function EditUserSuccess(result){
  var EditContainer = _get("dvEditContainer");
  EditContainer.innerHTML = result;
  EditContainer.style.background="#333333";
}

function EditUserError(ex){
  var EditContainer = _get("dvEditContainer");
  EditContainer.innerHTML = ex.get_message();
  EditContainer.style.background="#333333";
}

function SetCalDate(e){
 var target;
 if (window.event)
   target = window.event.srcElement;
 else if (e)
   target = e.target;
 if (_get("pDate")){
  var dtString = new String(target.id);
  var dtArray = dtString.split(",");
  var dtMonth = new Number(dtArray[1])+1;
  _get("pDate").innerHTML = dtArray[0] + "/" + dtMonth.toString() + "/" + dtArray[2];
  _get("CalContainer").className = "CalContainerHidden";
  _get("CalContainer").innerHTML = "";
 }
 else
  GetBlog(target.id,0);
}

function ContentSuccess(result){
  var txtContainer = _get("dvTextContainer");
  txtContainer.innerHTML = result;
  txtContainer.style.background="#333333";
  fadeOut("dvTextCover",100);
  CreateScrollbars("dvTextContainer","dWelcome");
}

function ContentError(ex){
  var txtContainer = _get("dvTextContainer");
  if (txtContainer){
   txtContainer.innerHTML = strCallbackError + '<br /><br />"' + ex.get_message() + '"';
   fadeOut("dvTextCover",25);
  }
  else {
   _remove("dWelcome","dvTextContainer");
   alert(strCallbackError + '\n\n"' + ex.get_message() + '"');
  }  
}

function LoginSuccess(result){
  if (result==true){
    var txtContainer = _get("dvTextContainer");
    var cText = getcookie("cContent");
    if (cText){
     var context = cText.split("+");
     var content = context[0];
     var lang = context[1];
     txtContainer.innerHTML = GetContent(content,lang);
    }
    else
     txtContainer.innerHTML = GetContent("client_blog","en-AU");
    txtContainer.style.background="#333333";
  }  
  else
    _get("pError").innerHTML = strLoginFailed; 
  
}

function LoginError(ex){
  var txtError = _get("pError");
  if (txtError)
   txtError.innerHTML = ex.get_message();
  else {
   _remove("dWelcome","dvTextContainer");
   alert(ex.get_message());
  }  
}

function GallerySuccess(result){
  if (result.length!=0){
     var dt = Sys.Serialization.JavaScriptSerializer.deserialize(result);
     var g = new ImageGallery(dt);
  }
  else
     alert("Error");
}

function GalleryError(ex){
 var container = _new("div","dvGallery","dWelcome");
 _get("dvGallery").innerHTML = strCallbackError + '<br /><br />"' + ex.get_message() + '"';
}


function CreateMenu(ln) {
 if (_get("pMenu")){
  _get("spMenuText").innerHTML= strShowMenu;
  _remove("dWelcome","imTopScroll,imBottomScroll,pMenu,dModal"); 
  _remove("dWelcome","dvTextContainer,dvTextCover");
  _get("binfo").innerHTML = strBrowserInfo;
 }
 else { 
  var dModal = _new("div","dModal","dWelcome");
  var pMenu = _new("div","pMenu","dWelcome");
  var pMenuCover = _new("div","pMenuCover","pMenu");
  _get("spMenuText").innerHTML= strHideMenu;
  GetMenuContent(ln);
 } 
}

function CreateScrollbars(el,p) {
  var par = _get(p);
  var se = _get(el);
  se.scrollTop=0;
  if (se.scrollHeight<=se.clientHeight){_get("binfo").innerHTML = strBrowserInfo;return;}
  var TopScroll = _new("div","imTopScroll",p);
  TopScroll.title = strScrollTitle;
  TopScroll.onclick = function(){slide("dvTextContainer",-200,400)};
  var BottomScroll = _new("div","imBottomScroll",p);
  BottomScroll.title = strScrollTitle;
  BottomScroll.onclick = function(){slide("dvTextContainer",200,400)};
  _get("binfo").innerHTML = strScrollText;
  if (document.all)
   se.attachEvent("onkeyup", KeyScroll);
  else {
   window.addEventListener("keyup", KeyScroll, false);
  } 
  se.focus();  
}

function KeyScroll(e){
  var kCode=0;
  var move = 200;
  var time = 400;
  if (document.all)
   kCode=event.keyCode;
  else
   kCode = e.which;
  if (kCode==38)
   move = -200;
  slide("dvTextContainer",move,time);
}

function ImageGallery(dt){
  _remove("dWelcome","dvTextContainer,dvTextCover");
  var container = _new("div","dvGallery","dWelcome");
  var images = _new("div","dvContainer","dvGallery");
  container.title = dt.Description;
  var loadGa = _new("div","loadGa","dvGallery");
  loadGa.innerHTML = strLoadingContent;
  var l = dt.Items.length;
  for (var i = 0; i < l; ++ i){
    this.id = dt.Items[i].Src;
    var ni = new Image();
    if (i==l-1)
      ni.onload = function() {_remove("dvGallery","loadGa");_get("dvContainer").style.display="block"; _get("dvGallery").style.height="391px"; _get("binfo").innerHTML = strZoomGallery;fadeIn("dvContainer",0)};
    ni.id = dt.Items[i].Src;
    ni.src = "./galleries/" + dt.ID + "/thumbs/" + dt.Items[i].Src;
    ni.alt = dt.Items[i].Description;
    ni.title = dt.Items[i].Description;
    ni.style.cursor="url(./App_Themes/default/images/zoom.cur), pointer";
    if (i==0)
     ni.onclick = function(){ShowEnlargedImage(dt.ID, this, false,true)};
    else if (i==l-1)
     ni.onclick = function(){ShowEnlargedImage(dt.ID, this, true,false)};   
    else
     ni.onclick = function(){ShowEnlargedImage(dt.ID, this, true,true)};    
    images.appendChild(ni);
  }
  var navtext = _new("span","spGalleryText","dvNavigate");
  DisplayNavigator("spGalleryText");
  navtext.innerHTML = strCloseGallery;
  navtext.onclick= function(){_remove("dWelcome","dvGallery");_remove("dvNavigate","spGalleryText");DisplayNavigator("spMenuText");_get("binfo").innerHTML = strBrowserInfo};
 }
 
 function DisplayNavigator(p){
  var as = _get("dvNavigate").getElementsByTagName("span");
  for (var i = 0; i < as.length; ++ i)
   as[i].style.display="none";
  _get(p).style.display="inline";
 }  


function ShowEnlargedImage(imgpath, thumb, back, ffw) {
  var imDiv = _new("div","imLargeContainer","dWelcome");
  var loadXi = _new("div","loadXi","imLargeContainer");
  loadXi.innerHTML = strLoadingContent;
  var imEnlargement = new Image();
  imEnlargement.onload = function(){_remove("imLargeContainer","loadXi");var imDesc = _new("div","imLargeDescription","dWelcome"); imDesc.innerHTML = thumb.title; _get("imLargeContainer").appendChild(imEnlargement); fadeIn("imEnlargement",0)};
  imEnlargement.id = "imEnlargement";
  imEnlargement.src = "./galleries/" + imgpath + '/' + thumb.id;
  imEnlargement.title = thumb.title;
  var navtext = _new("span","spLargeImage","dvNavigate");
  DisplayNavigator("spLargeImage");
  navtext.innerHTML = strCloseLargeImage;
  navtext.onclick= function(){_remove("imLargeContainer","imEnlargement"); _remove("dWelcome","imLargeContainer,imLargeDescription");_remove("dvNavigate","spLargeImage");DisplayNavigator("spGalleryText");_get("binfo").innerHTML = strZoomGallery};
  _get("binfo").innerHTML = strBrowserInfo;
} 

function SendMessage(un, em, sub, msg){
 var isValid = ValidateMessage(un, em, msg);
 if (isValid==true){
   _get("dWait").style.display="block";
   MainRidge.ContentService.SendMail(un, em, sub, msg, MsgSuccess, MsgError);
 }  
 else
   _get("pError").innerHTML=isValid;
}  
    
function MsgSuccess(result){
    var txtContainer = _get("dvTextContainer");
    txtContainer.innerHTML = "";
    txtContainer.style.background="#333333";
    var pConfirmMsg = _new("p","pConfirmMsg","dvTextContainer");
    if (pConfirmMsg)
     pConfirmMsg.innerHTML = result;
    else
     txtContainer.innerHTML = result; 
}

function MsgError(ex){
 _get("dWait").style.display="none";
  var txtError = _get("pError");
  if (txtError)
   txtError.innerHTML = ex.get_message();
  else {
   _remove("dWelcome","dvTextContainer");
   alert(ex.get_message());
  }  
}

function EncryptText(ko, kt, msg){
 var isValid = ValidateEncrypt(ko, kt, msg);
 if (isValid==true){
  _get("dWait").style.display="block";
   MainRidge.ContentService.EncryptText(ko, kt, msg, EncrSuccess, EncrError);
 }  
 else
   _get("pError").innerHTML=isValid;
}  
    
function EncrSuccess(result){
    var txtContainer = _get("dvTextContainer");
    txtContainer.innerHTML = result;
    txtContainer.style.background="#333333";
}

function EncrError(ex){
  _get("dWait").style.display="none";
  var txtError = _get("pError");
  if (txtError)
   txtError.innerHTML = ex.get_message();
  else {
   _remove("dWelcome","dvTextContainer");
   alert(ex.get_message());
  }  
} 

function DecryptText(ko, msg){
 var isValid = ValidateDecrypt(ko, msg);
 if (isValid==true){
    _get("dWait").style.display="block";
   MainRidge.ContentService.DecryptText(ko, msg, DecrSuccess, DecrError);
 }  
 else
   _get("pError").innerHTML=isValid;
}  
    
function DecrSuccess(result){
   var txtContainer = _get("dvTextContainer");
    txtContainer.innerHTML = result;
    txtContainer.style.background="#333333";
}

function DecrError(ex){
 _get("dWait").style.display="none";
 var txtError = _get("pError");
  if (txtError)
   txtError.innerHTML = ex.get_message();
  else {
   _remove("dWelcome","dvTextContainer");
   alert(ex.get_message());
  }  
}  

function ToggleScrollImages(o){
  var p = _get(o);
  if(_get("imTopScroll")) {
    if (p.scrollTop<=0)
     _get("imTopScroll").style.display="none";
    else
     _get("imTopScroll").style.display="block";
  }
  else if (_get("imBottomScroll")) {
    if ((p.scrollTop + p.clientHeight)>=p.scrollHeight)
     _get("imBottomScroll").style.display="none";
    else
     _get("imBottomScroll").style.display="block";
  }
  if (p)
   p.focus();  
}
 
//Various helper functions

function IsEnterKey(e){
  var kCode=0;
  if (document.all)
   kCode=event.keyCode;
  else
   kCode = e.which;
  
  if (kCode==13)
    return true;
  return false;
}

function ValidateLogin(u, p){
  var re= new RegExp(/^[\w\W]{2,32}$/);
  var r = re.test(u);
  if (r==false) { _get("pError").innerHTML = strLoginNotValidated; return false;}
  var r = re.test(p);
  if (r==false) { _get("pError").innerHTML = strLoginNotValidated; return false;}
  return true;
}

function ValidateMessage(u, em, msg){
  
  //test username
  var re= new RegExp(/^(\s|[0-9a-zA-Z_-]){2,64}$/);
  var r = re.test(u);
  if (r==false) {return strUserNameError}
  
  //test email
  re= new RegExp(/^[a-zA-Z_0-9.-]{2,32}\@[a-zA-Z_0-9.-]{2,30}\.[a-zA-Z.]{2,32}$/);
  r = re.test(em);
  if (r==false) {return strEmailError}
  
  //test message
  re= new RegExp(/^[\w\W]{2,512}$/gm);
  r = re.test(msg);
  if (r==false) {return strMessageError}
  

  return true;
}

function ValidateEncrypt(ko, kt, msg){
  
  //test keys  
  if (ko!=kt) {return strEncKeysNoMatch}
  
  var re= new RegExp(/^[\w\W]{2,32}$/);
  var r = re.test(ko);
  if (r==false) {return strEncKeyNotValid}
  
  //test message
  re= new RegExp(/^[\w\W]{1,300}$/gm);
  r = re.test(msg);
  if (r==false) {return strEncMsgError}
  
  return true;
}

function ValidateDecrypt(ko, msg){
  
  //test key 
  var re= new RegExp(/^[\w\d\s]{2,32}$/);
  var r = re.test(ko);
  if (r==false) {return strEncKeyNotValid}
  
  //test message
  re= new RegExp(/^[\w\W]{1,700}$/gm);
  r = re.test(msg);
  if (r==false) {return strEncMsgError}
  
  return true;
}

function setcookie(name, value) {
  var cookie_string = escape (name) + "=" + escape (value);        
  document.cookie = cookie_string;
}

function getcookie(key) {
 var cookie_string = "" + document.cookie;
 var cookie_array = cookie_string.split ("; ");
 for (var i = 0; i < cookie_array.length; ++ i){
   var single_cookie = cookie_array [i] . split ("=");
   if (single_cookie.length != 2)
      continue;
   var name  = unescape(single_cookie [0]);
   var value = unescape(single_cookie [1]);
  
   if (key == name)
     return value;
 }
   
   return null;
}

function _get(id){
  return document.getElementById(id);
}

function _new(tag, id, par){
  var n = document.createElement(tag);
  n.id=id;
  _get(par).appendChild(n);
  return n;
}

function _remove(parent, children){
 var p = _get(parent);
 if (!p){return;}
 var c = children.split(",");
 for (var i = 0; i < c.length; ++ i){
   var e = _get(c[i]);
   if (e)
    p.removeChild(e);
 }   
}

function _selobj(el){
  el.select();
}

function closeModal(data,ln){
 if( _get("dvEditContainer")) {
  _remove('dvTextContainer','dvEditContainer');
  _remove('dvTextContainer','dvModal');
 }
 else
   MainRidge.ContentService.GetContent("","",ContentSuccess,ContentError);
}

//****** fade image transitions ******//

function setOpacity(obj, opacity) {
  if (!obj){return;}
  
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function fadeIn(nextobjId,opacity) {
  if (document.getElementById) {
    var nextobj = document.getElementById(nextobjId);
    if (opacity <= 100) {
      setOpacity(nextobj, opacity);
      opacity += 10;
      window.setTimeout("fadeIn('" + nextobjId + "'," + opacity + ")", 20);
    }
  }
}

function fadeOut(nextobjId,opacity) {
  if (document.getElementById) {
    var nextobj = document.getElementById(nextobjId);
    if (opacity >= 0) {
      setOpacity(nextobj, opacity);
      opacity -= 10;
      window.setTimeout("fadeOut('" + nextobjId + "'," + opacity + ")", 20);
    }
    else
    _remove("dWelcome","dvTextCover");
  }
}

function LargeImgToggle(bk,fw, txt,id) {
  var p = "imLargeDescription";
  if (!_get("imgBack"))
    var imgBack = _new("img","imgBack",p);
  else
    var imgBack = _get("imgBack");  
  imgBack.src= "./App_Themes/default/images/arrback.png";
  imgBack.onclick = function(){slide("dvTextContainer",-200,400)};
  var spTxt = _new("span","spTxt",p);
  spTxt.innerHTML = txt;
  if (!_get("imgForward"))
    var imgForward = _new("img","imgForward",p);
  else
    var imgForward = _get("imgForward");  
  imgForward.src= "./App_Themes/default/images/arrforward.png";
  imgForward.onclick = function(){slide("dvTextContainer",200,400)};

}

function DaysToDate(refDate,days) {
  var oDate = new Date(refDate);
  return new Date(oDate.getTime() + 86400000*days);
} 

//To Swedish

function ToSwedish(txt) {
  var tmp = new String(txt);
  var orChar = new Array("{",":","\"","[",";","\'");
  var svChar = new Array("Å","Ö","Ä","å","ö","ä");
  for (var i = 0; i < orChar.length; ++ i){
     var r = new RegExp("[" + orChar[i] + "]","gi")
     tmp = tmp.replace(r,svChar[i]);
  }
  return tmp
}

//Scroll text
var fps;
function slide(eleId, varY, transTime) {
if ((!_get("imTopScroll"))&&(!_get("imBottomScroll")))
 return;
 if (eleId) {
   j=0;
   fps=200;
   oDiv = _get(eleId);
   startY = oDiv.scrollTop;
   approxSteps = fps * (transTime / 1000);
   delay = transTime / approxSteps;
   sinInc = (Math.PI/2) / approxSteps;
   moveY = varY;
 }
 if (j<=approxSteps) {
   var posY = startY + Math.ceil(Math.atan(j * sinInc) * moveY);
   oDiv.scrollTop = posY;
   j++;
   setTimeout("slide()", delay);
 }
 else {
   ToggleScrollImages("dvTextContainer");
   return;
 }  
}

function EditBlog(eid) {

     var ID = 0;
     if (eid){ID=eid;}
     var isel = _get("ddName");
     var Instrument = isel.options[isel.selectedIndex].value;
     var IDate = _get("pDate").innerHTML;
     var tsel = _get("ddTrend");
     var Trend = tsel.selectedIndex;
     var r0 = _get("r0").value;
     var r1 = _get("r1").value;
     var r2 = _get("r2").value;
     var s0 = _get("s0").value;
     var s1 = _get("s1").value;
     var s2 = _get("s2").value;
     var Comment = _get("txComment").value;
     var isVis = true;
     if (_get("cbVisible").className=="cbFalse") {isVis=false;}
     if (ValidateBlog(r0, r1, r2, s0, s1, s2, Comment)==true)
      MainRidge.ContentService.EditBlog(ID, Instrument, IDate, Trend, r0, r1, r2, s0, s1, s2, Comment, isVis, ContentSuccess, ContentError);
}

  
function ValidateBlog(r0, r1, r2, s0, s1, s2, Comment) {
 
  var stError = new String("");
  //test levels
  re= new RegExp(/^[0-9]{0,6}(\.|\,)*[0-9]{0,4}$/);
  var sr = new Array(r0, r1, s0, s1);
  for (var i = 0; i < sr.length; ++ i){
     r = re.test(sr[i]);
     if (r==false) {stError = strBlogNumberError}
  }
  //test comment
  re= new RegExp(/^[\w\W]{0,1024}$/gm);
  r = re.test(Comment);
  if (r==false) {stError = strBlogCommentError}
  if (stError.length>0){
    var er = _new("div","dvError","bContainer");
    er.innerHTML = stError;
    return false;
  }  
  return true;
}

function UpdateUser(id,em,pw,pw1,cm) {
     if (ValidateUserEdit(id, em, pw, pw1, cm)==true) {
       _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
       var nContainer = _new("div","dvTextContainer", "dWelcome");
       var nCover = _new("div","dvTextCover", "dWelcome");
       MainRidge.ContentService.UpdateUser(id,em,pw,pw1,cm, ContentSuccess, ContentError);
     }  
}      

function CreateUser(id,em,pw,pw1,cm) {
     if (ValidateUserEdit(id, em, pw, pw1, cm)==true) {
       _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
       var nContainer = _new("div","dvTextContainer", "dWelcome");
       var nCover = _new("div","dvTextCover", "dWelcome");
       MainRidge.ContentService.CreateUser(id,em,pw,pw1,cm, ContentSuccess, ContentError);
     }  
}  
     
function ValidateUserEdit(id, em, pw, pw1, cm) {
 
  var stError = new String("");
  //test name
  re= new RegExp(/^[\w\W]{4,32}$/);
  r = re.test(id);
  if (r==false) {stError = strUserNameError}
   //test password
  if (pw!=pw1) {stError = strEncKeysNoMatch}
  re= new RegExp(/^[\w\W]{0,32}$/);
  r = re.test(pw);
  if (r==false) {stError = strEncKeyNotValid}
   re= new RegExp(/^[\w\W]{0,32}$/);
  r = re.test(pw1);
  if (r==false) {stError = strEncKeyNotValid}
  //test email
  re= new RegExp(/^[a-zA-Z_0-9.-]{2,32}\@[a-zA-Z_0-9.-]{2,30}\.[a-zA-Z.]{2,32}$/);
  r = re.test(em);
  if (r==false) {stError = strEmailError}
  //test comment
  re= new RegExp(/^[\w\W]{0,1024}$/gm);
  r = re.test(cm);
  if (r==false) {stError = strBlogCommentError}
  if (stError.length>0){
    var er = _new("div","dvError","dvEditContainer");
    er.innerHTML = stError;
    return false;
  }  
  return true;
}

function EditComment(dt,id) {
     _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
     var nContainer = _new("div","dvTextContainer", "dWelcome");
     var nCover = _new("div","dvTextCover", "dWelcome");
     MainRidge.ContentService.EditComment(dt, id, ContentSuccess, ContentError);
}
       
function UpdateComment(id, dt, tx, cn) {
      if (ValidateComment(id, dt, tx)==true) {
       _remove("dWelcome","dvTextContainer,dvTextCover,imTopScroll,imBottomScroll");
       var nContainer = _new("div","dvTextContainer", "dWelcome");
       var nCover = _new("div","dvTextCover", "dWelcome");
       if (cn=="cbTrue")
        vi = true;
       else
        vi = false;
       MainRidge.ContentService.UpdateComment(id, dt, tx, vi, ContentSuccess, ContentError);
     }  
}       

function ValidateComment(id, dt, tx) {
 
  var stError = new String("");
  //test id
  re= new RegExp(/^[\d]{1,5}$/);
  r = re.test(id);
  if (r==false) {stError = strUserNameError}
  //test date
  re= new RegExp(/^[\d]{2}\/[\d]{2}\/20[\d]{2}$/);
  r = re.test(dt);
  if (r==false) {stError = strBlogCommentError}
  re= new RegExp(/^[\w\W]{1,700}$/);
  r = re.test(tx);
  if (r==false) {stError = strBlogCommentError}
  if (stError.length>0){
    var er = _new("div","dvError","bContainer");
    er.innerHTML = stError;
    return false;
  }  
  return true;
}

function ToggleCheckBox(cb) {
  if (cb.className=="cbTrue")
   cb.className="cbFalse"
  else
   cb.className="cbTrue"
}

function ParseDate(s) {
  var t = new String(s)
  //var u = t.split("\/")
  var u = t.split(",")
  var n = new Date(new Number(u[2]),new Number(u[1]),new Number(u[0]));
  return n;
}

function CompareDates(cd,nd) {
  if ((cd.getFullYear()==nd.getFullYear())&&(cd.getMonth()==nd.getMonth())&&(cd.getDate()==nd.getDate()))
   return true;
  else
  return false;
}

function ShowHelp(ln) {
  var m = _new("div","dvHelpModal","divPageContainer");
  var h = _new("div","dvHelp","divPageContainer");
  var cl = _new("span","spCloseMe","dvHelp");
  cl.innerHTML = strCloseLargeImage;
  cl.onclick = function() {_remove("divPageContainer","dvHelpModal,dvHelp");}
  var ni = new Image();
  ni.onload = function() {_get("dvHelp").style.background="#333333 url(./images/help_" + ln + ".png) 0px 25px"}
  ni.src = "./images/help_" + ln + ".png";
}