
//BROWSER DETECTION
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;
 

//FIELDS
function imgField(field, img){
	if(field.value == "cuvant cheie") field.value = "";
	field.style.backgroundImage = "url("+img+")";
	if(img.indexOf("over")>0) bgcolor = "#ffffe9";
						 else bgcolor = "#FFFFFF";
	field.style.backgroundColor = bgcolor;
}

function imgField2(field, img){
	//bgcolor
		if(img == "over") bgcolor = "#FFFFFF";
					 else bgcolor = "#FFFFFF";
		field.style.backgroundColor = bgcolor;
		
	//border color
		if(img == "over") border_color = "#666666";
					 else border_color = "#999999";
		field.style.borderColor = border_color;
}

//BUTS
function imgBut(but, img){
	but.src = img;
}

//Reset Form
function resetForm(formName){
	if(ns6) form = eval("document.getElementById('"+formName+"')");
	else if(ns4) form = eval("document."+formName);
	else form = eval("document.all."+formName);
	form.reset();
}



function focus2(field){
	if(field.value == 0) field.value = '';
}	


function blur2(field){
	if(field.value == '') field.value = '0';
}	


function fieldValue(field_name){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	return field.value;
}

function setFieldValue(field_name, val){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	return field.value;
	field.value = val;
}

function writeIn(field_name, val){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	field.innerHTML = val;
}



function formatNR(nr, dec)
{
str = "" + Math.round(eval(nr) * Math.pow(10,dec));
while(str.length < dec)
	str = "0" + str;
decidx = str.length - dec;
tmp = str.substring(0,decidx);
if(tmp == '')
	tmp = '0';
if(dec > 0)
	tmp = tmp + '.' + str.substring(decidx, str.length);
return(tmp);
}



function getkey(e)
{
if (window.event)
   return window.event.keyCode;
else if (e)
   return e.which;
else
   return null;
}


function goodchars(e, goods)
{
var key, keychar;
key = getkey(e);
if (key == null) return true;

// get character
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();
goods = goods.toLowerCase();

// check goodkeys
if (goods.indexOf(keychar) != -1)
	return true;

// control keys
if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
   return true;

// else return false
return false;
}



function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} // Ends the "getSelectedCheckBoxValue" function
  

//Email Validation
function emailValid(email)
{
  var result = false
  var theStr = new String(email)
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function formSubmit(form, act){
	document.forms[form].action = act;
	document.forms[form].submit();
}

function fieldOb(field_name){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	return field;
}

function changeRowColor(row, color){
	rOb = fieldOb(row);
	rOb.bgColor = color;  
}

//Validates a field
function ValidateField(elem, name){
	if((elem.value == '')||(elem.value == 0))	{
    		alert('INCOMPLETE!');
    		elem.focus();
   	 		return(false);
   	}
	else if(name.indexOf('email') != -1){
			 	if(!emailValid(elem.value)){
					alert('Invalid E-mail address !');
					elem.focus();
   	 				return(false);
				}
	}
	return(true);
}

//Just Validates a field without (alert & focus)
function JustValidateField(elem){
	if((elem.value == '')||(elem.value == 0))	return(false);
	else if(name.indexOf('email') != -1){
			 	if(!emailValid(elem.value)){
   	 				return(false);
				}
	}
	return(true);
}


//Validate form for Mandatory fields to be filled properly
function Validate(form, fields){
   	mandatory_fields = fields.split(',');
	for(i=0; i<mandatory_fields.length; i++){
		
		if(mandatory_fields[i].indexOf('|')){
			//groupped fields (at least one of them must be filled/selected)
			mandatory_group_fields = mandatory_fields[i].split('|');
			valid = 0;
			for(j=0; j<mandatory_group_fields.length; j++){
				elem = eval('form.' + mandatory_group_fields[j]);
				if(ValidateField(elem, mandatory_group_fields[j]) ) valid = 1;
				else return(false);
			}
			if(!valid){
				//no fields filled
				elem = eval('form.' + mandatory_group_fields[0]);
				if(!ValidateField(elem, mandatory_group_fields[0])) return(false);
			}
			
		}else{
			//single field
			elem = eval('form.' + mandatory_fields[i]);
			if(!ValidateField(elem, mandatory_fields[i])) return(false);
		}
		
	}//for
	
	return(true);
}

function GotoPage(pag, GET){
	if(ns6) form = eval("document.getElementById('frms')");
	else if(ns4) form = eval("document.frms");
	else form = eval("document.all.frms");
	form.action = PHP_SELF + "?"+GET+"&pag="+pag;
	form.submit();
}

function ValidateLogin(form){
   	if(form.login_user.value == '')	{
    		alert('Insert Administrator!');
    		form.login_user.focus();
   	 	return(false);
   	}
   	if(form.login_pass.value == '')	{
    		alert('Insert Password!');
    		form.login_pass.focus();
   	 	return(false);
   	}
	return(true);
}

function ValidateLoginUser(form){
   	if(form.login_user.value == '')	{
   		alert('Insert Username!');
   		form.login_user.focus();
   	 	return(false);
   	}
   	if(form.login_pass.value == '')	{
   		alert('Insert Password!');
   		form.login_pass.focus();
   	 	return(false);
   	}
	return(true);
}

function checkFormPass(form){
   	if(form.pass_old.value == '')	{
    		alert('Enter current password!');
    		form.pass_old.focus();
   	 	return(false);
   	}
	
   	if(form.pass_new_1.value == '')	{
    		alert('Enter new password!');
    		form.pass_new_1.focus();
   	 	return(false);
   	}
	
   	if(form.pass_new_2.value == '')	{
    		alert('Reenter new password!');
    		form.pass_new_2.focus();
   	 	return(false);
   	}
	
   	if(form.pass_new_1.value != form.pass_new_2.value)	{
    		alert('Error! You have reentered a different new password!');
    		form.pass_new_1.focus();
   	 	return(false);
   	}

	return(true);
}

function ValidateSubmit(form, action, asc){
	document.forms[form].action = action;
	
	// step 1
	if( (action == '?general&signup&step=1') && (asc == 0) ) document.forms[form].submit();
	
	// step 2
	if( (action == '?general&signup&step=2') && (asc == 1) ){
		if(Validate(document.forms[form], 'user,fname,lname,email,pass1,pass2,phone,street1,city,country')) 
			document.forms[form].submit();
	}else if(asc == 0) document.forms[form].submit();
	
	// step 3
	if( (action == '?general&signup&step=3') && (asc == 1) ){
		if(Validate(document.forms[form], 'cc_type,cc_nr,cc_mm,cc_yy')) 
			document.forms[form].submit();
	}else if(asc == 0) document.forms[form].submit();
}

function ShowTable(id, how){
 ob = fieldOb(id);

 if(how == 2)
	ob.className = 'vizibil';
 else ob.className = 'ascuns';
 
}

function openvideo(url){
//var l=(screen.availWidth-w)/2 , t=(screen.availHeight-h)/2;
//win=window.open("_layouts/", "_blank","width="+w+",height="+h+",left="+l+",top="+t+",statusbar=no,toolbar=no,scrollbars="+scr+",navbar=no");

//win.focus();

var BaseURL = url;
var DisplayWidth = "640";
var DisplayHeight = "480";
// This is the path to the image generating file inside the camera itself
var File = "axis-cgi/mjpg/video.cgi?resolution=320x240";
var output = "";
if ((navigator.appName == "Microsoft Internet Explorer") &&
   (navigator.platform != "MacPPC") && (navigator.platform != "Mac68k"))
{
  output  = '<OBJECT ID="Player" width='
  output += DisplayWidth;
  output += ' height=';
  output += DisplayHeight;
  output += ' CLASSID="CLSID:DE625294-70E6-45ED-B895-CFFA13AEB044" ';
  output += 'CODEBASE="';
  output += BaseURL;
  output += 'activex/AMC.cab#version=3,32,19,0">';
  output += '<PARAM NAME="MediaURL" VALUE="';
  output += BaseURL;
  output += File + '">';
  output += '<param name="MediaType" value="mjpeg-unicast">';
  output += '<param name="ShowStatusBar" value="0">';
  output += '<param name="ShowToolbar" value="0">';
  output += '<param name="AutoStart" value="1">';
  output += '<param name="StretchToFit" value="1">';
  output += '<BR><B>Axis Media Control</B><BR>';
  output += 'The AXIS Media Control, which enables you ';
  output += 'to view live image streams in Microsoft Internet';
  output += ' Explorer, could not be registered on your computer.';
  output += '<BR></OBJECT>';
} else {
  theDate = new Date();
  output  = '<IMG SRC="';
  output += BaseURL;
  output += File;
  output += '&dummy=' + theDate.getTime().toString(10);
  output += '" HEIGHT="';
  output += DisplayHeight;
  output += '" WIDTH="';
  output += DisplayWidth;
  output += '" ALT="Camera Image">';
}

wind=window.open("","VideoCamera","statusbar=no,toolbar=no,menubar=no,width=660,height=500,resizable=yes");
wind.document.write(output);
}

var xmlHttp;
var diff = 0; 
var diff1 = 0;
var diff2 = 0;
function day(d){
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
	  alert ("Please install the newest version for your browser!");
	  return;
	} 
	
	if(d == 1) diff ++;
	else if(d == -1) diff --;
	
	var url="?cal&daydata="+diff;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=putDay;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function putDay(){
	if (xmlHttp.readyState==4){
		response=xmlHttp.responseText;	
		
		var update = new Array();
		update = response.split('|!|');
		
		for(j = 0; j < 24; j++){
			if(update[j] == "&nbsp;")
				document.getElementById("hour"+j).innerHTML = '<div>&nbsp;<a href="?cal&add_comment='+diff+'&hour='+j+'"><img src="_layouts/images/ico_add.gif" border="0"/></a>&nbsp;<a href="?cal&add_comment='+diff+'&hour='+j+'">Add New Comment</a></div>';
			else document.getElementById("hour"+j).innerHTML = update[j] + '<div>&nbsp;<a href="?cal&add_comment='+diff+'&hour='+j+'"><img src="_layouts/images/ico_add.gif" border="0"/></a>&nbsp;<a href="?cal&add_comment='+diff+'&hour='+j+'">Add New Comment</a></div>';
		}
		document.getElementById("title").innerHTML = update[24];
		
		timer_er = setTimeout('day(0);', 300000);
	}
}

function week(d){
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
	  alert ("Please install the newest version for your browser!");
	  return;
	} 
	
	if(d == 1) diff = diff + 7;
	else if(d == -1) diff = diff - 7;
	
	var url="?cal&weekdata="+diff;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=putWeek;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function putWeek(){
	if (xmlHttp.readyState==4){
		response=xmlHttp.responseText;	
		
		var update = new Array();
		update = response.split('|!|');
		
		for(j = 0; j < 7; j++){
			document.getElementById("time_"+j).innerHTML = update[j];
			//document.getElementById("style"+j).innerHTML = update[j + 7];
			document.getElementById("style"+j).className = update[j + 28];			
			document.getElementById("title_"+j).innerHTML = update[j + 14];
			//document.getElementById("n_"+j).innerHTML = update[j + 21];
			//alert(update[j + 35]);
			
			document.getElementById("tableBorder"+j).className = update[j + 35];	
		}
		
		document.getElementById("title").innerHTML = update[42];
		timer_er = setTimeout('week(0);', 300000);
	}
}

function week(d){
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
	  alert ("Please install the newest version for your browser!");
	  return;
	} 
	
	if(d == 1) diff = diff + 7;
	else if(d == -1) diff = diff - 7;
	
	var url="?cal&weekdata="+diff;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=putWeek;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function putWeek(){
	if (xmlHttp.readyState==4){
		response=xmlHttp.responseText;	
		
		var update = new Array();
		update = response.split('|!|');
		
		for(j = 0; j < 7; j++){
			document.getElementById("time_"+j).innerHTML = update[j];
			//document.getElementById("style"+j).innerHTML = update[j + 7];
			document.getElementById("style"+j).className = update[j + 28];			
			document.getElementById("title_"+j).innerHTML = update[j + 14];
			//document.getElementById("n_"+j).innerHTML = update[j + 21];
			//alert(update[j + 35]);
			
			document.getElementById("tableBorder"+j).className = update[j + 35];	
		}
		
		document.getElementById("title").innerHTML = update[42];
		timer_er = setTimeout('week(0);', 300000);
	}
}

function month(d){
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
	  alert ("Please install the newest version for your browser!");
	  return;
	} 
	
	if(d == 1) diff = parseInt(diff2);
	else if(d == -1) diff = parseInt(diff1);
	
	var url="?cal&monthdata="+diff;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=putMonth;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function putMonth(){
	if (xmlHttp.readyState==4){
		response=xmlHttp.responseText;	
		
		var update = new Array();
		update = response.split('|!|');
		
		document.getElementById("month").innerHTML = update[0];
		document.getElementById("title").innerHTML = update[1];
		diff1 = update[2];
		diff2 = update[3];
		
		timer_er = setTimeout('month(0);', 300000);
	}
}

function GetXmlHttpObject(){
	var xmlHttp=null;
	try { xmlHttp=new XMLHttpRequest(); }
	catch (e) {
	  try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
	  catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
	}
	return xmlHttp;
}

function hide_er(){
	ob = fieldOb('tab_er');
	ob.className = 'ascuns';
}

function obscureParms(url)
{
	var main;
	var parms;
	(main,parms) = url.split("?");
	parms= reverse(parms);
	alert("New URL:" + main+"?"+parms);
	//return main+"?"+parms;
	return url;
}


