// JavaScript Document

function getBrowser() {
  var sBrowser = navigator.userAgent;
  if (sBrowser.toLowerCase().indexOf('msie') > -1) return 'ie';
  else if (sBrowser.toLowerCase().indexOf('firefox') > -1) return 'firefox';
  else return 'mozilla';
}

function killEnter(evt)
{
if(evt.keyCode == 13 || evt.which == 13)
{
return false;
}
return true;
}

function refreshImages()
{
var search="?"+(new Date()).getTime();
for(var i=0;i<document.images.length;document.images[i++].src+=search);
}

function clearFormData(formName) {
 var el = document.forms[formName].elements;
 for(var i=0; i < el.length; i++) {
  if (el[i].type == "text") {
   el[i].value = '';	  
  }
 }
 var reg = document.getElementById('region');
 if (reg) {
  reg.options[reg.selectedIndex].value = 0;	 
 }
 var cat = document.getElementById('catobj');
 if (cat) {
  cat.options[cat.selectedIndex].value = 0;	 
 }
 var obj = document.getElementById('objtype');
 if (obj) {
  obj.options[obj.selectedIndex].value = 0;	 
 }
}

function formSubmit(formName) {
 document.getElementById(formName).submit();
}

function checkAllFields(form, controlField, checkAll) {

 var el = document.forms[form].elements;

 for(var i=0; i < el.length; i++){
  if ((el[i].type == "checkbox") && (el[i].disabled != true) && (el[i].name != controlField)) {
   if (checkAll == true) {
    el[i].checked = true;
   } else {
    el[i].checked = false;
   }
  }
 }
 
}

function checkFieldsFiltered(form, controlField, checkAll) {

	 var el = document.forms[form].elements;

	 for(var i=0; i < el.length; i++){
	  if ((el[i].type == "checkbox") && (el[i].disabled != true) && (el[i].name.substring(0,controlField.length) == controlField)) {
	   if (checkAll == true) {
	    el[i].checked = true;
	   } else {
	    el[i].checked = false;
	   }
	  }
	 }
	 
	}

function enableFieldsFiltered(form, controlField, enable) {

	 var el = document.forms[form].elements;
	 var cnt = 0;

	 for(var i=0; i < el.length; i++){
	  
	  if (el[i].name.substring(0,controlField.length) == controlField) {
	   cnt++;
	   if (cnt > 1) {
		   if (enable == true) {
		    el[i].disabled = true;
		   } else {
		    el[i].disabled = false;
		   }
	   }
	  }
	 }
	 
}

function addPicField(formName,divName,fieldName) {
 var f = document.getElementById(formName);
 var d = document.getElementById(divName);
 var content = d.innerHTML;
 var el = f.elements;
 var pics = 0;
 for(var i=0; i < el.length; i++){
	if (el[i].name.substring(0,fieldName.length) == fieldName) {
	 pics++;	
	} 
 }
 pics++;
 content = content + '<input type="file" name="' + fieldName + pics + '" id="' + fieldName + pics + '" /><br />';
 d.innerHTML = content;
 d.style.visibility = 'visible';
}

/////// -> AJAX request.
//-> Have two arguments.
//-> 1 argument: TYPE-String, NAME-url, CONTAIN-request's url.
//-> 2 argument: TYPE-String, NAME-sec, CONTAIN-name of section which will contain the result.
//-> 3 argument: TYPE-Boolean, ..., CONTAIN-type of request (true or false).
var inProgress=false;
function fillup(url, sec, ajaxLoader, synchroType)
{
	var newxmlHttp=getXMLHttpRequest();

	inProgress=true;
	/*loaderEff(ajaxLoader);*/
	var content=document.getElementById(sec);

	newxmlHttp.onreadystatechange=function()
	{
		if(newxmlHttp.readyState==4)
		{
			if(content)
			{
				content.innerHTML=newxmlHttp.responseText;
			}
			inProgress=false;
			/*loaderEff(ajaxLoader);*/
			newxmlHttp=null;
		}
	}

newxmlHttp.open("GET", url, true);
newxmlHttp.send(null);
}

/////// -> Return XMLHttpRequest (object) ...
function getXMLHttpRequest()
{
	var xmlhttp=null;
	if (window.XMLHttpRequest && !document.all)		// Non-IE
	{
		xmlhttp=new XMLHttpRequest();
	}
	else if(window.ActiveXObject)					// IE
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.opera)							// Opera
	{
		xmlhttp=new XMLHttpRequest();
	}
	else
	{
		alert('SORRY, ajax requests not supported by browser...');
	}
	return xmlhttp;
}

/*function loaderEff(tagID)
{
	var objLoaderContainer=document.getElementById(tagID);
	if(inProgress==false)
	{
		objLoaderContainer.style.visibility='hidden';
	}
	else if(inProgress==true)
	{
		objLoaderContainer.style.visibility='visible';
	}
	else
	{
		objLoaderContainer.style.visibility='hidden';
	}
}*/

function pause(milliseconds)
{
    var now = new Date();
    var exitTime = now.getTime() + milliseconds;

    while(true)
    {
        now = new Date();
        if(now.getTime() > exitTime) return;
    }
}

function showLinkedObjectsDiv(divContent,divClose,visible,newWidth,newHeight) {
	/*var ldiv = document.getElementById('linkedObjectsDiv');
	var cdiv = document.getElementById('linkedObjectsDivClose');*/
	var ldiv = document.getElementById(divContent);
	var cdiv = document.getElementById(divClose);
	var p = document.getElementById('selectProvince');
	var ot = document.getElementById('selectObjType');
	var ct = document.getElementById('selectCatType');
	
	if (visible == true) {
	 if (p) { p.style.visibility = 'hidden'; }
	 if (ot) { ot.style.visibility = 'hidden'; }
	 if (ct && ((divContent == 'detailsDiv') || (divContent == 'ajaxObjectsList'))) { ct.style.visibility = 'hidden'; }
	 if (newWidth != null) {ldiv.style.width = newWidth+'px';}
	 if (newHeight != null) {ldiv.style.height = newHeight+'px';}
	 ldiv.style.visibility = 'visible';
	 cdiv.style.visibility = 'visible';
	} else {
	 if (p) { p.style.visibility = 'visible'; }
	 if (ot) { ot.style.visibility = 'visible'; }
	 if (ct) { ct.style.visibility = 'visible'; }
	 ldiv.style.visibility = 'hidden';
	 cdiv.style.visibility = 'hidden';
	 ldiv.style.width = '50px';
	 ldiv.style.height = '50px';
	}	
}

function showLinkedObjects() {
 var sBrowser = navigator.userAgent;
 if (sBrowser.toLowerCase().indexOf('msie') > -1) {document.getElementById('region').style.visibility = 'hidden';}
 document.getElementById('province').style.visibility = 'hidden';
 document.getElementById('city').style.visibility = 'hidden';
 if (document.getElementById('catobj')) {
  document.getElementById('catobj').style.visibility = 'hidden'; 
 }
 document.getElementById('linkedobjects').style.visibility='visible';
}

function hideLinkedObjects() {
 document.getElementById('region').style.visibility = 'visible';
 document.getElementById('province').style.visibility = 'visible';
 document.getElementById('city').style.visibility = 'visible';
 if (document.getElementById('catobj')) {
  document.getElementById('catobj').style.visibility = 'visible'; 
 }
 document.getElementById('linkedobjects').style.visibility='hidden';
}

function showFCK(fckID) {
 var fck = document.getElementById(fckID);
 var fc = document.getElementById('FCKcontent');
 var divElements = fc.getElementsByTagName('div');
 
 for (var i=0; i < divElements.length; i++) {
  if (divElements.item(i).id.substr(0,11) == 'FCKcontent_') {
	  divElements.item(i).style.visibility = 'hidden';
  }
 }
 
 fck.style.visibility = 'visible';
}

function addObjectArticle(objID,divID) {

  if (document.getElementById(divID)) {
	  
  var d = document.getElementById(divID);
  var listitems = d.getElementsByTagName('div');
  var content = '';
  var found = false;
  var url = '';
  
  for (var i=0; i < listitems.length; i++) {
	if (listitems.item(i).id == 'div_articleObj_' + objID) {
	 found = true;
	}
  }
  
  if (found == false) {
  
  url = 'ajax/ajaxfunctions.php?objid=' + objID + '&function=addObjToArticle';
  fillup(url,'testsession','ajaxLoader',false);
	  
  var txt = document.createElement('div');
  txt.setAttribute('id','div_articleObj_' + objID);
  /*txt.setAttribute('style','margin-top:6px;');*/ 
  d.appendChild(txt);
  var elementID = document.getElementById('div_articleObj_' + objID);
  content = '<a style="cursor:pointer;" title="премахни обекта от статията" onclick="delField(\'' + divID + '\',\'div_articleObj_' + objID + '\');"><img src="../images/b_drop.png" align="absmiddle"></a>&nbsp;&nbsp;' + document.getElementById('articleAddObj_' + objID).value +'<input type="hidden" name="articleObj_' + objID + '" id="articleObj_' + objID + '" /><br /><br />';
  elementID.innerHTML = content;
  
  } else {
	alert('Обектът вече е свързан към статията');  
  }
  
 }
}

function delField(divName,fieldName) {
 var d = document.getElementById(divName);
 var fn = document.getElementById(fieldName);
 d.removeChild(fn);
 url = 'ajax/ajaxfunctions.php?objid=' + fieldName.substring(15) + '&function=removeObjFromArticle';
 fillup(url,'testsession','ajaxLoader',false);
}

function setArticleObjectID(id) {
 url = 'ajax/ajaxfunctions.php?id=' + id + '&function=setArticleObjID';
 fillup(url,'none','ajaxLoader',false);
}

function ajaxPaging(cv) {
 url = 'ajax/ajaxfunctions.php?cv=' + cv + '&function=ajaxPagingCall';
 fillup(url,'ajaxPaging','ajaxLoader',false);
 generateAjaxPaging('generateCheckBoxes','art','generateObjectList',cv,'objlist','ajaxLoader');
}

function generateAjaxPaging(file,menu,f,parameters,tagID,ajaxLoader)
{
	var url = 'ajax/' + file +'.php?menu=' + menu + (f != '' ? '&function=' + f : '') + '&p=' + parameters;
	fillup(url,tagID,ajaxLoader,false);
}

function generateSelect(file,menu,f,tagID,ID,ajaxLoader)
{
	var IDField = document.getElementById(ID);
	var url = 'ajax/' + file +'.php?menu=' + menu + (f != '' ? '&function=' + f : '') + '&id=' + IDField.options[IDField.selectedIndex].value;
	fillup(url,tagID,ajaxLoader,false);
}

function generateSelectParam(file,menu,f,parameters,tagID,ajaxLoader)
{
	var url = 'ajax/' + file +'.php?menu=' + menu + (f != '' ? '&function=' + f : '') +  (parameters != '' ? '&'+parameters : '');
	fillup(url,tagID,ajaxLoader,false);
}

function generateSelectDepend(file,menu,f,tagID,ID,objID,ajaxLoader)
{
	var IDField = document.getElementById(ID);
	var url = 'ajax/' + file +'.php?menu=' + menu + (f != '' ? '&function=' + f : '') + '&id=' + IDField.options[IDField.selectedIndex].value + '&objid=' + objID;
	fillup(url,tagID,ajaxLoader,false);
}

function generateCheckboxes(file,menu,f,parameters,tagID,ID,ajaxLoader)
{
	var IDField = document.getElementById(ID);
	var url = 'ajax/' + file +'.php?menu=' + menu + (f != '' ? '&function=' + f : '') + '&p=' + parameters + '&id=' + IDField.options[IDField.selectedIndex].value;
	fillup(url,tagID,ajaxLoader,false);
}

function generateCheckboxesDepend(file,menu,f,parameters,tagID,ID,objID,ajaxLoader)
{
	var IDField = document.getElementById(ID);
	var url = 'ajax/' + file +'.php?menu=' + menu + (f != '' ? '&function=' + f : '') + '&p=' + parameters + '&id=' + IDField.options[IDField.selectedIndex].value + '&objid=' + objID;
	fillup(url,tagID,ajaxLoader,false);
}