function openWindow(myObject, urlWindow, iWidth, iHeight, strScroll, strExtra) {
   var a = "toolbar=no,scrollbars=" + strScroll + ",height=" + iHeight + ",width=" + iWidth + ",resizable=yes" + strExtra;
   eval(myObject + '= window.open ("' + urlWindow + '","' + myObject + '","' + a + '");')
   setTimeout(myObject + '.focus();',200);
	if (myObject.opener == null) myObject.opener = self;

}

//Select Date Deadline and Publication
function showCal(s){
	var sFeatures = "minimize=1,resizable=1,dependent=0,menubar=0,directories=0,location=0,status=0,scrollbars=no,toolbar=0,left="+(screen.width-800)+",top=350,height=225,width=220,screenY=350, screenX ="+(screen.width-800);
	openWindow('wdwCalendar','../../include/calendar.asp?S=' + s,sFeatures);
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function openWindow4Submit(sf,spage) {

   var f,x,y,x2;
   
   f = MM_findObj(sf);

   if (document.all) {
     x  = window.screenTop;
     x2 = window.document.body.offsetWidth;
     y  = window.screenLeft;
   }
   else if (document.layers) {
     x  = window.screenX;
     x2 = window.innerWidth;
     y  = window.screenY;
   }
   
   y = y + 200;
   x = x + (x2 / 2) - 150;
   x = parseInt(x);
   
   openWindow('wdwCSV',spage,350,200,'no',(',top=' + y + ',screenY=' + y + ',left=' + x + ',screenX=' + x))

   
   f.target = 'wdwCSV'

   setTimeout('wdwCSV.moveTo(' + x + ',' + y + ')',500)
   setTimeout('MM_findObj("' + sf + '").submit();',1000)

}

function isLeapYear (Year) {
   if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
      return (true);
   } else
   { return (false)
   }
}

function checkDate(f,objDate,o){
   var mNames = "JanFebMarAprMayJunJulAugSepOctNovDec"
   var mValues = "312831303130313130313031"
   var alertMsg = ""
   var wrongDate = true
   var args = checkDate.arguments
   var a = new Date();

   f       = args[0]    // first one - name of the object
   objDate = args[1]
   var i = 0;
   alertboxnames = ""

   if (f.elements[o.name][o.selectedIndex].value == 0) {

      f.elements[(objDate + "Day")].selectedIndex = 0;
      f.elements[(objDate + "Month")].selectedIndex = 0;
      f.elements[(objDate + "Year")].selectedIndex = 0;

   } else {

      for (var i=1; i < 3; i++) {

         if (i==1) {
            myDD     = f.elements[(objDate + "Day")][f.elements[(objDate + "Day")].selectedIndex].value      // extract Date
            myMM     = f.elements[(objDate + "Month")][f.elements[(objDate + "Month")].selectedIndex].value  // extract Month
            myYYYY   = f.elements[(objDate + "Year")][f.elements[(objDate + "Year")].selectedIndex].value  // extract Month
            selectedDate = myMM + "/" + myDD + "/" + myYYYY;
         }

         if (myDD == 0 || myMM == 0 || myYYYY == 0) {

            if (myDD == 0) {f.elements[(objDate + "Day")].selectedIndex = 1;}
            if (myMM == 0) {f.elements[(objDate + "Month")].selectedIndex = 1;}
            if (myYYYY == 0) {f.elements[(objDate + "Year")].value = a.getFullYear();}

            if (i==1) {
               myDD     = f.elements[(objDate + "Day")][f.elements[(objDate + "Day")].selectedIndex].value      // extract Date
               myMM     = f.elements[(objDate + "Month")][f.elements[(objDate + "Month")].selectedIndex].value  // extract Month
               myYYYY   = f.elements[(objDate + "Year")][f.elements[(objDate + "Year")].selectedIndex].value  // extract Month
               selectedDate = myMM + "/" + myDD + "/" + myYYYY;
            }

         }

         var newValue = ""

         if (myDD<10){
            myDD = "0" + myDD
         }
         if (myMM<10){
            myMM = "0" + myMM
         }

         var lastDate = 0

         if (myMM == 2){
            if (isLeapYear(myYYYY)) {
               lastDate = 29
            }
            else{
               lastDate = 28
            }
         }
         else {
            lastDate = mValues.substring((myMM-1)*2, (myMM-1)*2+2)
         }

         if ( (myDD > lastDate) || (myDD <=0 || isNaN(myYYYY) || myYYYY == '') ){

            if ( i == 1) {
               alert("The selected date is incorrect");
               f.elements[(objDate + "Day")].selectedIndex    = 0;
               f.elements[(objDate + "Month")].selectedIndex  = 0;
               f.elements[(objDate + "Year")].selectedIndex   = 0;
            }
         }
      }
   }
}

function populateSelect(oSelect,aData) {

   for (i = 0; i < (aData.length/2); i++) {
      oSelect.options[i] = new Option(aData[2*i],aData[(2*i)+1]);
   }

   if (oSelect.length > (aData.length / 2)) {
      a = oSelect.length;
      for (i = (aData.length /2); i < a; i++) {
         oSelect.options[aData.length /2] = null;
      }
   }

}

function setSelect (o,v) {

   for (var i = 0; i < o.length; i++) {
      if (o.options[i].value == v) {
         o.options[i].selected = true;
         break;
      } else {
         o.options[0].selected = true;
      }
   }
}

function switchOpenQst(sq) {

	var q = MM_findObj(sq);
	
	for ( var i = 0 ; i < q.length; i++ ) {
		
		var o = q[i];
		var b = o.checked ? false : true;
		
		var opt = MM_findObj('o' + o.value);
		
		if(opt) {opt.disabled = b; };
		
	}

}

function fillSelect(myStart,myEnd,myDefValue,myEmpty,so) {

   var o,a;

   o = MM_findObj(so);
   j = 0;
   a = new Array();

   if(myEmpty) {

      a[0] = '';
      a[1] = 0;
      j    = 2;
   }

   for (var i = myStart; i <= myEnd; i ++) {

      a[j] = i;
      a[j+1] = i;
      j = j + 2;

   }

   populateSelect(o,a);
   setSelect(o,myDefValue);

}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function addLengthWatcher(o,maxlength,language) {

   var b = true;
   
   self.status = (maxlength - o.value.length - 1) + ' ' + getWarningCharacters(language);

   if(o.value.length >= maxlength) {
   
      o.value = o.value.substr(0,maxlength);
      b = false;
      self.status = getWarningLength(language);
   
   }
   
   return b;

}

function getWarningCharacters(language) {

   var r;
   
   switch (language) {

      case 1 :
         r = 'tekens over.';
         break;

      case 2 :
         r = 'characters left';
         break;
         
      case 3 :
         r = '';
         break;         

      case 4 :
         r = '';
         break;
         
      case 5 :
         r = '';
         break;
         
      case 6 :
         r = 'characters left';
         break;  
         
      default:
         r = 'tekens over.';
   
   }

   return r;

}

function getWarningLength(language) {

   var r;
   
   switch (language) {

      case 1 :
         r = 'De maximum lengte van het veld is bereikt.';
         break;

      case 2 :
         r = 'You have reached the input maximum for this field.';
         break;
         
      case 3 :
         r = '';
         break;         

      case 4 :
         r = '';
         break;
         
      case 5 :
         r = '';
         break;
         
      case 6 :
         r = 'Usted ha alcanzado la longitud máxima para este recuadro.';
         break;  
         
      default:
         r = 'De maximum lengte van het veld is bereikt.';
   
   }

   return r;

}

function disableEnterKey(){
     if (window.event.keyCode == 13) window.event.keyCode = 0;
}
