var isNS = (navigator.appName == "Netscape") ? 1 : 0;
var enableRightClick = 1;

if(isNS)
   document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);

function mischandler()
{
  if(enableRightClick==1){return true;}
  else {enableRightClick=1;return false; }
}

function mousehandler(e)
{
  if(enableRightClick==1){ return true; }
  var myevent = (isNS) ? e : event;
  var eventbutton = (isNS) ? myevent.which : myevent.button;

  if((eventbutton==2)||(eventbutton==3))
     return false;
}

function keyhandler(e)
{
  var myevent = (isNS) ? e : window.event;
  if (myevent.keyCode==96)
    enableRightClick = 1;
  return;
}

function DisableRightClick()
{
   enableRightClick = 0;
   return;
}

function openInParent(url)
{
   opener.location.href = url;
}

function preventIllegalBuy(url)
{
   if(opener)
   {
      openInParent(url);
      window.close();
   }
   else
   {
      this.location.href = url;
   }
}

function popitup(url, name, options)
{
   newwindow=window.open(url,name,options);
   if (window.focus) {newwindow.focus()}
   return false;
}

// POPUP WINDOW
// added for blog
function openpopup(popurl, w, h, sizable)
{
	str = 'width='+(w+20)+',height='+(h+30);
	if ( sizable != true )
	{
		str = str + ',scrollbars=no,resizable=no,status=no';
	}
	else
	{
		str = str + ',scrollbars=yes,resizable=yes,status=yes';
	}
	window.open(popurl,'',str);
}

function preloadImages() {
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

function swapImgRestore() {
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function findObj(n, d) {
  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=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function swapImage() {
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

document.oncontextmenu = mischandler;
document.onkeypress    = keyhandler;
document.onmousedown   = mousehandler;
document.onmouseup     = mousehandler;


/* Deadline countdown globals and functions */
var timer = null;
var DLTime;
var FloorDiffDays;
var FloorDiffHours;
var FloorDiffMin;
var FloorDiffSec;
var currentTime;
/* Difference between server time and local time used for offseting in JS [ms] */
var timeDelta;
var gDayString;
var gDaysString;

function stop()
{
   clearTimeout(timer);
}

function timeOut()
{
   var homeTime = document.getElementById('DisplayTime');
   var homeDays = document.getElementById('DisplayDays');
   var bannerTime = document.getElementById('BannerTime');
   var bannerDays = document.getElementById('BannerDays');
   var bannerCurrentTime = document.getElementById('BannerCurrentTime');

   if(homeTime) homeTime.innerHTML ="";
   if(bannerTime) bannerTime.innerHTML ="";

   currentTime = new Date();
   currentTime.setTime(currentTime.getTime() + timeDelta);

   /* Calculate days left until deadline */
   var RealDiffDays = (DLTime-currentTime)/(1000*60*60*24);
   FloorDiffDays = Math.floor(RealDiffDays);

   /* Calculate hours left until deadline */
   var RealDiffHours = (RealDiffDays - FloorDiffDays)*24;
   FloorDiffHours = Math.floor(RealDiffHours);

   /* Calculate minutes left until deadline */
   var RealDiffMin = (RealDiffHours-FloorDiffHours)*60;
   FloorDiffMin = Math.floor(RealDiffMin);

   /* Calculate secundes left until deadline */
   var RealDiffSec = (RealDiffMin-FloorDiffMin)*60;
   FloorDiffSec = Math.floor(RealDiffSec);

   /* If time expired */
   if (FloorDiffDays < 0)
   {
      if(homeDays) homeDays.innerHTML = "0&nbsp;" + gDayString;
      if(homeTime) homeTime.innerHTML = "00:00:00";

      if(bannerDays) bannerDays.innerHTML = "&nbsp;0&nbsp;" + gDayString + ",&nbsp;";
      if(bannerTime) bannerTime.innerHTML = "00:00:00" + "&nbsp;";
      return;
   }


   /* Write days */
   var days_text;
   if(FloorDiffDays == "1")
      days_text = "&nbsp;" + gDayString;
   else
      days_text = "&nbsp;" + gDaysString;

   if(homeDays) homeDays.innerHTML = FloorDiffDays + days_text;
   if(bannerDays) bannerDays.innerHTML = "&nbsp;" + FloorDiffDays + days_text + ", ";


   /* Add zero in front of single-digit number */
   if (FloorDiffHours <= 9) FloorDiffHours = "0" + FloorDiffHours;
   if (FloorDiffMin <= 9)   FloorDiffMin   = "0" + FloorDiffMin;
   if (FloorDiffSec <= 9)   FloorDiffSec   = "0" + FloorDiffSec;

   /* Write hours */
   if(homeTime) homeTime.innerHTML += FloorDiffHours;
   if(bannerTime) bannerTime.innerHTML += FloorDiffHours;

   /* Write mins */
   if(homeTime) homeTime.innerHTML += ":" + FloorDiffMin;
   if(bannerTime) bannerTime.innerHTML += ":" + FloorDiffMin;

   /* Write secs */
   if(homeTime) homeTime.innerHTML += ":" + FloorDiffSec;
   if(bannerTime) bannerTime.innerHTML += ":" + FloorDiffSec + "&nbsp;";


   //bannerCurrentTime.innerHTML = currentTime.getUTCHours() + ":" + currentTime.getUTCMinutes() + ":" + currentTime.getUTCSeconds();

   /* Start timer on one second period */
   timer = setTimeout("timeOut()",950);
}


function start(sDeadlineYear, sDeadlineMonth, sDeadlineDay, sDeadlineHour, sDeadlineMinute, sDeadlineSecond, timeOffset, dayString, daysString)
{
   /* Set deadline for this round */
   DLTime = new Date();
   DLTime.setUTCFullYear(sDeadlineYear, sDeadlineMonth, sDeadlineDay);
   DLTime.setUTCHours(sDeadlineHour, sDeadlineMinute, sDeadlineSecond);

   var currTimeJS = new Date();
   timeDelta = timeOffset - currTimeJS.getTime();
//   alert('JS: ' + currTimeJS);

   /*  Set timer for countdown */
   gDayString = dayString;
   gDaysString = daysString;
   timeOut();
}


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 MM_setTextOfTextfield(objName,x,newText) { //v3.0
 var obj=MM_findObj(objName);
 if (obj) obj.value=newText;
 if (obj) obj.disabled=false;
}

function JS_CheckRadioGroup(group)
{
//   alert("Len: " + group.length + " " + group[0].checked + " " + group[1].checked + " " + group[2].checked);
   for( i=0; i<group.length; i++ )
   {
      if(group[i].checked==true)
         return group[i].value;
   }

   return -1;
}

function JS_CheckTextBox(txtBox)
{
   if(txtBox.value==0)
      return false;
   else
      return true;
}


function JS_CheckComment(objName, errMessage)
{
   var obj = MM_findObj(objName);
   if(obj.value.length > 10)
      return true;
   else
   {
      alert(errMessage);
      return false;
   }
}


function JS_CheckSurveyForm(QNumber)
{
   var i=0;
   for(i=1; i<QNumber; i++)
   {
      var objName = "Q"+i;
      var Qi = MM_findObj(objName);
      if(!Qi)
      {
         /* If object is not fond, chech if object is in fact a customlist or ranking */
         var j=0;
         do
         {
            objName = "Q"+i+"["+j+"]";
            var Qi = MM_findObj(objName);
            if(Qi)
            {
               if(Qi.type=="text")
               {
                  if(!JS_CheckTextBox(Qi))
                  {
                     alert("Na pitanje " + i + "." + (j+1) +") nije odgovoreno!");
                     return false;
                  }
               }
               else
               {
                  if(JS_CheckRadioGroup(Qi) == -1)
                  {
                     alert("Na pitanje " + i + "." + (j+1) +") nije odgovoreno!");
                     return false;
                  }
               }
            }

            j++;
         } while(Qi);

         continue;
      }

      if(Qi.type=="text")
      {
         if(!JS_CheckTextBox(Qi))
         {
            alert("Na pitanje " + i + ") nije odgovoreno!");
            return false;
         }
      }
      else
      {
         if(JS_CheckRadioGroup(Qi) == -1)
         {
            alert("Na pitanje " + i + ") nije odgovoreno!");
            return false;
         }
         //alert("Name: " + objName + " Obj:" + Qi);
      }
   }

   return true;
}
