
 var urlAddress = "http://www.vibe.com.au/";
 var pageName = "VIBE Australia";


 function closeStatusMessage(id)
 {
 	//Effect.Move ('Status-Msg',{x: 0, y: -50, mode: 'relative'});
	//Effect.DropOut('Status-Msg',{delay:0.25,duration:1.1});
	new Effect.Fade($(id),{duration: 0.25,transition:Effect.Transitions.linear, from: 0.9, to:0.0})
 }

 function addToFavorites()
 {
  if (window.external)
  {
   window.external.AddFavorite(urlAddress,pageName)
  }
  else
  {
   alert("Sorry! Your browser doesn't support this function.");
  }
 }
function isInteger(strVal){
	var intChars='0123456789';
	if(strVal.length==0) return false;
	for(var i=0;i<strVal.length;i++){
		var cchar=strVal.charAt(i);
		var found=false;
		for(var j=0;j<intChars.length;j++)
			if(intChars.charAt(j)==cchar){
				found=true;
				break;
			}
		if(!found) return false;
	}
	return true;
}
function selectedRadio(objGrp){
	for(var i=0;i<objGrp.length;i++)
		if(objGrp[i].checked)
			return objGrp[i];
	return null;
}

//function formatCurrency2(inVal){
//	var val=inVal,result,point;
//	if(isNaN(val) val=0;
//	result=(Math.round(val*100)/100;).toString();
//	point=result.indexOf(".");
//	if(result.length
//
//	
//}

<!-- Original:  Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site:  http://www7.ewebcity.com/cyanide7 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+
			num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents + ' AUD');
}

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}
function SetCookie (name,expire,path,domain) {
  if (GetCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expire=" + expire;
//      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
function addEvent(elm, evType, fn, useCapture)
// addEvent and removeEvent
// cross-browser event handling for IE5+,  NS6 and Mozilla
// By Scott Andrew
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
     return false;
  }
}

function textLengthConstrain(field, maxlimit) 
{
    if (field.value.length >= maxlimit) // if too long...trim it!
    {
        field.value = field.value.substring(0, maxlimit);
    }
}




function isMaxLen(objSrc, n){
    if(objSrc.value)
        if(objSrc.value.length>n)
	        objSrc.value=objSrc.value.substring(0, n);
}


function nonWS(s)
{
     if (s == " ") return false;
     if (s == "\t") return false;
     return true;
}

function jsTrim(s) {
     var nLen = s.length;
     var nStart = 0;
     var nEnd = nLen - 1;
     var i;
     for (nStart = 0; nStart <= nEnd; nStart++)
        if (nonWS(s.charAt(nStart))) break;
     for (nEnd = nLen - 1; nEnd >= nStart; nEnd--)
        if (nonWS(s.charAt(nEnd))) break;
     return s.substr(nStart, nEnd - nStart + 1);
}

function jsIsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function jsLen(str)
/***
        IN: str - the string whose length we are interested in
        RETVAL: The number of characters in the string
***/
{  return String(str).length;  }

function jsLeft(str, n){
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0,n);
}

function jsRight(str, n)
{
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else 
    {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function jsMid(str, start, len)
/***
IN: str - the string we are LEFTing
start - our string's starting position (0 based!!)
len - how many characters from start we want to get
RETVAL: The substring from start to start+len
***/
{
// Make sure start and len are within proper bounds
if (start < 1 || len < 1) return "";
var iEnd, iLen = jsLen(str);
if (start + len > iLen)
iEnd = iLen;
else
iEnd = (start - 1) + len;
return String(str).substring(start - 1,iEnd);
}


// InStr function written by: Steve Bamelis - steve.bamelis@pandora.be
function jsInstr(nStartCharPos, strSearch1, strSearchFor)
/*
InStr(strSearch, charSearchFor) : Returns the first location a substring (SearchForStr)
was found in the string str. (If the character is not
found, -1 is returned.)
Requires use of:
Mid function
Len function
*/
{
if (strSearch1.indexOf(strSearchFor) < 0)
return 0;
else
{
if ((jsLen(strSearch1) - nStartCharPos) >= 0)
{
if (strSearch1.lastIndexOf(strSearchFor) >= (nStartCharPos - 1))
{
var strSearch2 = jsMid(strSearch1, nStartCharPos, jsLen(strSearch1) - nStartCharPos + 1);
return strSearch2.indexOf(strSearchFor) + nStartCharPos;
} 
else
return 0;
}
else
return 0;
}
}

 
function jsIsDate(dateStr) {

var sMonth = ""
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) 
{
    alert("Please enter an invoice date.");
    return false;
}

month = matchArray[1]; // p@rse date into variables
day = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) { // check month range
    alert("Month must be between January and December.");
    return false;
}

if (day < 1 || day > 31) {
    alert("Day must be between 1 and 31.");
    return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
    switch(month) {
    case "1":
        sMonth = "January";
        break;
    case "2":
        sMonth = "February";
        break;
    case "3":
        sMonth = "March";
        break;
    case "4":
        sMonth = "April";
        break;
    case "5":
        sMonth = "May";
        break;
    case "6":
        sMonth = "June";
        break;
    case "7":
        sMonth = "July";
        break;
    case "8":
        sMonth = "August";
        break;
    case "9":
        sMonth = "September";
        break;
    case "10":
        sMonth = "October";
        break;
    case "11":
        sMonth = "November";
        break;
    case "12":
        sMonth = "December";
        break;
    }       
    alert("Month "+sMonth+" doesn`t have 31 days!")
    return false;
}

if (month == 2) { // check for february 29th
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
    if (day > 29 || (day==29 && !isleap)) {
        alert("February " + year + " doesn`t have " + day + " days!");
        return false;
    }
}
return true; // date is valid
}

       
function validateDate(sObjDateName, sDateName) {

    var sDate = document.getElementById(sObjDateName).value;
    
    if (jsTrim(sDate) != "") {
        if (jsInstr(1, sDate, "/") == 0) {
            alert("Please enter your " + sDateName + " in the format of dd/mm/yyyy.");
            document.getElementById(sObjDateName).focus();
            return false;
            }
        else {
            if (jsInstr(jsInstr(1, sDate, "/") + 1, sDate, "/") == 0) {
                alert("Please enter your " + sDateName + " in the format of dd/mm/yyyy.");
                document.getElementById(sObjDateName).focus();
                return false;
                }
            else {
                if (jsLen(sDate) != 10) {
                    alert("Please enter your " + sDateName + " in the format of dd/mm/yyyy.");
                    document.getElementById(sObjDateName).focus();
                    return false;
                    }
                else {
                    if (!jsIsNumeric(jsMid(sDate, jsInstr(1, sDate, "/") + 1, jsInstr(jsInstr(1, sDate, "/") + 1, sDate, "/") - jsInstr(1, sDate, "/") - 1))) {
                       alert("Please enter your " + sDateName + " in the format of dd/mm/yyyy.");
                       document.getElementById(sObjDateName).focus();
                       return false;
                       }
                    else {
                        sDate = jsMid(sDate, jsInstr(1, sDate, "/") + 1, jsInstr(jsInstr(1, sDate, "/") + 1, sDate, "/") - jsInstr(1, sDate, "/") - 1) + "/" + jsLeft(sDate, jsInstr(1, sDate, "/") - 1) + "/" + jsRight(sDate, 4);
                    //    if ((!jsIsDate(sDate)) || (jsMid(sDate, jsInstr(1, sDate, "/") + 1, jsInstr(jsInstr(1, sDate, "/") + 1, sDate, "/") - jsInstr(1, sDate, "/") - 1) > 12)) {
                        if ((!jsIsDate(sDate)) || jsLeft(sDate, jsInstr(1, sDate, "/")) > 12) {
                    //    alert(jsMid(sDate, jsInstr(1, sDate, "/") + 1, jsInstr(jsInstr(1, sDate, "/") + 1, sDate, "/") - jsInstr(1, sDate, "/") - 1));
                            alert("Please enter your " + sDateName + " in the format of dd/mm/yyyy.");
                            document.getElementById(sObjDateName).focus();
                            return false;
                            }
                        else
                            return true;
                        }
                    }
                }
            }
    }
    else {
        alert("Please enter an " + sDateName + ".");
        document.getElementById(sObjDateName).focus();
        return false;
        }
}

function constraintToNumericKeyPress(evt, obj)
{
        if (!evt) evt = window.event 
        if (evt.shiftKey)
        return false;
        else 
        {
        var key = evt.keyCode;
        if (!key) key = evt.keyCode;
        if (!key) key = evt.charCode;
        key = parseInt(key);
        if ((key == 110) || ((key >= 96) && (key <= 105)) || ((key >= 48) && (key <= 57)) || (key == 127) || (key == 27) || (key == 9) || (key == 11) || (key == 8) || (key == 37) || (key == 39) || (key == 46) || (key == 190))
        if (((key == 46) || (key == 190) || (key == 110)) && (jsInstr(1, obj.value, ".") > 0))
        return false;
        else
        return true;
        else
        return false;
        }
}
        
function constraintToNumberKeyPress(evt)
{
        if (!evt) evt = window.event    
            
         if (evt.shiftKey)
          return false;
         else 
          {
          var key = evt.keyCode;
          if (!key) key = evt.keyCode;
          if (!key) key = evt.charCode;
          key = parseInt(key);
          if (((key >= 96) && (key <= 105)) || ((key >= 48) && (key <= 57)) || (key == 127) || (key == 27) || (key == 9) || (key == 11) || (key == 8) || (key == 37) || (key == 39) || (key == 46))
           return true;
          else
           return false;
          }
}

function moveItem(src, dst, sString, b) {

    var bFlag = false;
    
    id = src.selectedIndex;  
    if ( id == -1)
        alert ('You need select at least one ' + sString);
    else {
            if (src.options[id].text == '[All]')
            {
                if (b)
                {
                    for (i=0; i< dst.options.length; i++) {
                        var obj = dst.options[i];
                        dst.remove(i);
                        src.options.add(obj);
                        i--;
                    }
                }
                
                var obj = src.options[id];
                src.remove(id);
                dst.options.add(obj);


                // I don't know why, but when new item is added to the 
                // SELECT object all items are selected...
                // So code below unselects all items
                for (i=0; i< dst.options.length; i++) {
                    dst.options[i].selected = false;
                }
            }
            else
            {
                if ((dst.options.length > 0) && (b == true))
                {
                    if (dst.options[0].text == '[All]')
                    {
                        alert("All has been selected.");
                        bFlag = true;
                        src.focus();
                    }
                }
                
                if (!bFlag)
                {
                    for (i=0; i< src.options.length; i++) {
                        if (src.options[i].selected) 
                        { 
                            var obj = src.options[i];
                            src.remove(i);
                            dst.options.add(obj);
                            i--;
                        }
                    }
                    // I don't know why, but when new item is added to the 
                    // SELECT object all items are selected...
                    // So code below unselects all items
                    for (i=0; i< dst.options.length; i++) {
                        dst.options[i].selected = false;
                    }
                }
            }
        }

}

function selectAll(objName, b) {

    if (b >= 1) {
        var box = document.getElementById(objName);
        for (var i = 0; i < box.options.length; i++)
            box.options[i].selected = true;
    }
    return true;
}

function moveSel(dnDir, formName, selName) {

    var srcText = srcValue = destText = destValue = "";
    var srcIndex = destIndex = 0;

    var docFormName = 'document.' + formName;

//    selObj = eval(docFormName + '.'+ selName);
    selObj = document.getElementById(selName);
    srcIndex = selObj.selectedIndex;
    if (srcIndex >= 0) {
        switch (dnDir) {
        case "t":
            if (srcIndex == 0) return;
            destIndex = 0;
            break;
        case "b":
            if (srcIndex == selObj.length) return;
            destIndex = selObj.length - 1;
            break;
        case true:
            increment = 1
            if (srcIndex +1 == selObj.length) 
            return;
            destIndex = srcIndex + increment;
            break;
        case false:
            increment = -1
            if (srcIndex < 1) return;
            destIndex = srcIndex + increment;
            break;
        }
        with (selObj) {
            srcText = options[srcIndex].text;
            srcValue = options[srcIndex].value;
            destText = options[destIndex].text;
            destValue = options[destIndex].value;
            options[destIndex].text = srcText;
            options[destIndex].value = srcValue;
            options[srcIndex].text = destText;
            options[srcIndex].value = destValue;

            selectedIndex = destIndex;
        }
    }
    
}

function isDate(dateStr) {

    var sMonth = ""
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) 
    {
        alert("Please select an appropriate poll's start date.");
        return false;
    }

    month = matchArray[1]; // p@rse date into variables
    day = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) { // check month range
        alert("Month must be between January and December.");
        return false;
    }

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        switch(month) {
        case "1":
            sMonth = "January";
            break;
        case "2":
            sMonth = "February";
            break;
        case "3":
            sMonth = "March";
            break;
        case "4":
            sMonth = "April";
            break;
        case "5":
            sMonth = "May";
            break;
        case "6":
            sMonth = "June";
            break;
        case "7":
            sMonth = "July";
            break;
        case "8":
            sMonth = "August";
            break;
        case "9":
            sMonth = "September";
            break;
        case "10":
            sMonth = "October";
            break;
        case "11":
            sMonth = "November";
            break;
        case "12":
            sMonth = "December";
            break;
        }       
        alert("Month "+sMonth+" doesn`t have 31 days!")
        return false;
    }

    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) {
            alert("February " + year + " doesn`t have " + day + " days!");
            return false;
        }
    }
    return true; // date is valid
}

function pushedKeyboard(evt) {

    var keyCode = evt.keyCode;

    if (keyCode == 13) {
        evt.cancelBubble = true;
        document.login.submit();
    }
    else
        return false;
}

function clearDropdown(inDropdownName) {

    var nLength = $(inDropdownName).options.length;

    $(inDropdownName).selectedIndex = 0;
    for(var i=0;i<nLength;i++) {
        $(inDropdownName).remove(0);
    }
}
