<!--
// AJAX METHOD
// AJAX FUNCTIONS
var rq=false;
var req=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  rq = new ActiveXObject("Msxml2.XMLHTTP");
  req = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   rq = new ActiveXObject("Microsoft.XMLHTTP");
   req = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   rq = false;
   req = false;
  }
 }
@end @*/
if (!rq && typeof XMLHttpRequest!='undefined') {
	try {
		rq = new XMLHttpRequest();
		req = new XMLHttpRequest();
	} catch (e) {
		rq=false;
		req=false;
	}
}
if (!rq && window.createRequest) {
	try {
		rq = window.createRequest();
		req = window.createRequest();
	} catch (e) {
		rq=false;
		req=false;
	}
}

var readyStates = new Array(
	"Initialising: please wait...",
	"Connection Opened",
	"Data sent",
	"Data Received",
	"Loaded!"
)

String.prototype.call = function(param){  
	if(!/\W/.test(this.toString())) {
		var func = eval(this.toString());
		if((typeof(func) === "function")||(typeof(func) === "obj")){
			func(param);
		} else {
			return null;
		}
	}
} 

function b(me) {
    obj = (typeof(me)!='object') ? document.getElementById(me) : me;
	obj.hasFocus = false;
    obj.active = false;
}


function f(me) {
	obj = (typeof(me)!='object') ? document.getElementById(me) : me;
    obj.hasFocus = false;
    obj.active = false;
}

function ajaxPageCall(url,obj,callback,method,fm) {
	param = null;
	sendMethod = "GET";
	if(method=="post") {
		sendMethod = "POST";
		var x; var i=0;
		var tagList = new Array("INPUT","TEXTAREA");
		param = '';
		// process fields:
		for (x in tagList) {
			var fObjEls = d.getElementsByTagName(tagList[x]); 
			for (var i=0; i<fObjEls.length; i++) {
				var arrtribs = fObjEls[i].getAttribute("TYPE");
				if ((arrtribs != "reset")&&(arrtribs != "submit")) {
					param+=(i!=0)?'&':'';
					param+=fObjEls[i].name+'='+fObjEls[i].value;
					i++;
				}
			}
		}
	}
	obj = (typeof(obj)!='object') ? document.getElementById(obj) : obj;
	
	// Do AJAX request
	if(!rq) { 
		return false;
	} else { // check if XmlHttpRquest is available
		// clear RQ
		rq.onreadystatechange = function () {}
		rq.abort();
		// open Async request
		rq.open(sendMethod,url,true);
		rq.onreadystatechange=function() {
		if (rq.readyState==4) {
			// SUCCESS - SEND OUTPUT TO CALLBACK FUNCTION (rq.responseText)
			//alert(rq.responseText);
			//alert(obj.id);
			params = new Array(obj,rq.responseText)
			callback.call(params);
		} else {
			// STILL WORKING
		}
		}
			rq.send(param);
			return false;
	}	
}

// AJAX SEARCH FUNCTIONS
function ajax_suggest(o,obj,type) {
	q = o.value;
	t= (type) ? '&t='+type : '';
	url = '/includes/ajaxSearch.php?q='+q+t;
	callback="ajax_suggest_fill";
	ajaxPageCall(url,obj,callback);
}

function ajax_suggest_fill(data) {
	obj = data[0];
	//alert(data[1])
	if(data[1]!='') {
		if((typeof(obj)==="object")&&(obj!=null)) {
			//alert(data)
			obj.innerHTML = data[1];
			obj.style.display = 'block';
		}
	} else {
		if((typeof(obj)==="object")&&(obj!=null)) {
			obj.style.display = 'none';
		}
	}
}

function urldecode( str ) {
    var histogram = {};
    var ret = str.toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };

    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';
 
    for (replace in histogram) {
        search = histogram[replace];
        ret = replacer(search, replace, ret);   
    }

    ret = decodeURIComponent(ret);
 
    return ret;
}

function useSuggestion(obj,sug,val) {
	obj = (typeof(obj)!='object') ? document.getElementById(obj) : obj;
	sug = (typeof(sug)!='object') ? document.getElementById(sug) : sug;
	obj.value = urldecode(val);
	sug.style.display = 'none';
}

function killSuggest(obj) {
	obj = (typeof(obj)!='object') ? document.getElementById(obj) : obj;
	setTimeout (function(){obj.style.display = 'none';}, 150 );
}

function setNotice(state) {
	notice = document.getElementById('div_notice');
	notice.style.display = (state=='show') ? 'block' : 'none';
}

function BRB_PHP_DelWithCon(deletepage_url,field_name,field_value,messagetext) { //v1.0 - Deletes a record with confirmation
  if (confirm(messagetext)==1){
  	location.href = eval('\"'+deletepage_url+'?'+field_name+'='+field_value+'\"');
  }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function doSubmit(thisForm) {
	var theForm = document.getElementById(thisForm);
	theForm.submit();

}
function checkKey(thisForm) {
	var key = document.layers ? evt.which 
            : document.all ? event.keyCode
            : evt.keyCode;
	var keyName = String.fromCharCode(key);
	if (key==13) {
		doSubmit(thisForm);
		return false;
	}
}

function toggle(me) {
	me = document.getElementById(me);
	if(me.style.display) {
		if(me.style.display != "block") {
			me.style.display = "block";
		} else {
			me.style.display = "none";
		}
	} else {
		me.style.display = "none";
	}
}

function setNotice(state) {
	notice = document.getElementById('notice_holder');
	notice.style.display = (state=='show') ? 'block' : 'none';
	if(state!='show') {
		nc = document.getElementById('div_notice_text');
		nc.innerHTML = " ";
	} // remove content
	if(state=='show') { window.scrollTo(0,0); } // scroll to the top of the page 
}

function noticeContent(cont) {
	setNotice("show");
	cont = unescape(cont)
	replaceThis = "+";
	cont = cont.replace(/\+/g," ");
	document.getElementById('div_notice_text').innerHTML = cont;
}

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 YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}

function initiate() {
		// run on page load
}

if(window.addEventListener) window.addEventListener("load", initiate, false); 	// for non IE browsers
else if(window.attachEvent) window.attachEvent("onload", initiate);			 // for IE
