// JavaScript Document
function browserGetElementObject(elementName){
   var returnValue = null;
   if(document.all){
	  returnValue = document.all[elementName];
   }else{
      returnValue = document.getElementById(elementName);
	  if(returnValue == null){
	      returnValue = document.getElementsByName(elementName);
		  if(returnValue != null){
		      returnValue = returnValue[0];
		  }
	  }
   }
   return returnValue;
}

function setBrowserElementObjectValue(elementName, elementValue){
   var ele = browserGetElementObject(elementName);
   if(ele != null) ele.value = elementValue;
}

function noAddressBarPopup(url, setWidth, setHight){
   window.open(url,'Calendar','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width='+setWidth+',height='+setHight);
}

function WM_toggle(id){
   if (document.all){
           if(document.all[id].style.display == "none"){
                   document.all[id].style.display = "";
           } else {
                   document.all[id].style.display = "none";
           }
           return false;
   } else if (document.getElementById){
           if(document.getElementById(id).style.display == "none"){
                   document.getElementById(id).style.display = "block";
           } else {
                   document.getElementById(id).style.display = "none";
           }
           return false;
   }
}

function Toggle_Div(id, $isOn){
   if (document.all){
           if(!$isOn){
                   document.all[id].style.display = "";
           } else {
                   document.all[id].style.display = "none";
           }
           return false;
   } else if (document.getElementById){
           if(!$isOn){
                   document.getElementById(id).style.display = "block";
           } else {
                   document.getElementById(id).style.display = "none";
           }
           return false;
   }
}

function showThisItemOnly(keyExtendsion, keyItem){
    tmp = document.getElementsByTagName('div');
    for (i=0;i<tmp.length;i++){
        if (tmp[i].className == keyExtendsion){
                        if(tmp[i].id == keyItem){
                                tmp[i].style.display = "";                        
                        }else{
                                tmp[i].style.display = "none";
                        }
                }
    }
}

function showThisItemOnlyFromTogglableID(keyOffElementTagName, keyItem){
    var tmp = document.getElementsByTagName(keyOffElementTagName);
	var checkTogglable;
	
	for (i=0;i<tmp.length;i++){
			checkTogglable = tmp[i].id;
			if(checkTogglable != ""){
    	        if(checkTogglable == keyItem){
				   	tmp[i].style.display = "";
	            }else {
					if(checkTogglable.substring(0,12) == "__togglable_"){
	                    tmp[i].style.display = "none";
					}
				}
			}
    }	
}

function showThisAllItemsFromTogglableID(keyOffElementTagName, displayStyleParam){
    var tmp = document.getElementsByTagName(keyOffElementTagName);
	var checkTogglable;
	
	for (i=0;i<tmp.length;i++){
			checkTogglable = tmp[i].id;
			if(checkTogglable != ""){
				if(checkTogglable.substring(0,12) == "__togglable_"){
                    tmp[i].style.display = displayStyleParam;
				}
			}
    }	
}

//works well with the function showThisItemOnly
function showThisAllItems(nameOfClass){
    tmp = document.getElementsByTagName('div');
    for (i=0;i<tmp.length;i++){
        if (tmp[i].className == nameOfClass){
                        tmp[i].style.display = "";
                }
    }
}

function printPage() {
        print(document); 
}

function FormCheck_MultiItems(formObj, typeName, elementName){
        myOption = -1;
        var tempType;
        for (i=0; i<formObj.length; i++) {
                tempType = formObj.elements[i].type;
                if((tempType == typeName) && (formObj.elements[i].checked) && (formObj.elements[i].name == elementName)) {
                        myOption = i;
                        break;
                }
        }
        if (myOption == -1) {
                return false;
        }else{                
                return true;
        }
}

function getRadioButtonValueSelection(formObj, elementName){
        var myOption = "";
        var tempType;
        for (i=0; i<formObj.length; i++) {
                tempType = formObj.elements[i].type;
                if((tempType == "radio") && (formObj.elements[i].checked) && (formObj.elements[i].name == elementName)) {
                        myOption = formObj.elements[i].value;
                        break;
                }
        }
        return myOption;
}

function fromStringDateToSqlDate(s)
{

    var today = new Date();
    var month =s.substring(0,2);
    var day = s.substring(3,5);
    var year = s.substring(6,8);
    var yearInt = parseInt(year) + 2000;
    
    var thisYear = 0;
    if (window.all)
    {
        thisYear = today.getYear();
    }
    else
    {
        thisYear = 1900 + today.getYear();
    }

    var thisYearString =  thisYear.toString();
    thisYear = parseInt(thisYearString.substring(2,4));

    if (year > thisYear )
       year = "19" + year;
    else
       year = "20" + year;
       
    var sqlDate =  year + "-" + month + "-" + day;
    return sqlDate;
}

function trim(s) {

  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function checkDateFormat(dateString)
{
    if (dateString.length != 8)
    {
        return false;
    }

    var month = dateString.substring(0,2);
    if (isNaN(month))
        return false;

    if (dateString.substring(2,3) != '/')
        return false;
    var date = dateString.substring(3,5);
    if (isNaN(date))
        return false;

    if (dateString.substring(5,6) != '/')
        return false;
    var year = dateString.substring(6,8);

    if (isNaN(year))
    {
        return false;
    }
    return true;
}

function isValidNumber(checkStr){
   var validChars = "0123456789";
   return checkValidChars(checkStr, validChars);
}

function isValidDouble(checkStr){
   var validChars = "0123456789.";
   return checkValidChars(checkStr, validChars);
}

function checkValidChars(sText, validChars){
   var isValid=true;
   var Char;

   for (i = 0; i < sText.length && isValid == true; i++){ 
      Char = sText.charAt(i); 
      if (validChars.indexOf(Char) == -1) {
         isValid = false;
      }
   }
   return isValid;
}


function dateIsAfter(date1, date2)
	{
	   var date1Year = date1.getYear();
	   var date1Month = date1.getMonth();
	   var date1Day = date1.getDate();
	   
	   var date2Year = date2.getYear();
	   var date2Month = date2.getMonth();
	   var date2Day = date2.getDate();
	   
	   if (parseInt(date1Year) > parseInt(date2Year)) {
	       return true;
	   }
	   
	   if (parseInt(date1Year) < parseInt(date2Year))
	   {
	       return false;
	   }

	   if (parseInt(date1Month) > parseInt(date2Month))
	   {
	      return true;
	   }
	   if (parseInt(date1Month) < parseInt(date2Month))
	   {
	      return false;
	   }
	   if (date1Day > date2Day)
	   {
	      return true;
	   }
	   return false;
	}
    function createDate(dateString)
	{
	    var month = dateString.substring(0,2);
	    var date = dateString.substring(3,5);
	    var year = dateString.substring(6,10);

	    
	    return new Date(year, (month -1),date);
	}