/**
 * Opus Php AJAX
 *
 * Any Refrence To Or Of OpusPhp Is As A Division of CM TECH ENTERPRISES INC.
 * OpusPhp and all of its source code and files are protected by Copyright Laws.
 * You may not remove this copyright which shows the copyright information and credits for OpusPhp .
 * OpusPhp software use information - http://www.opusphp.com/wysiwyg/info
 *
 * @link http://www.opusphp.com/
 * @copyright (C) 2008-2010 OpusPhp a Division of CM TECH ENTERPRISES INC.
 * @author Opus Php <info-at-opusphp-dot-com>
 * @package OpusPhpAjax
 * @version 2.0.1
 */
 
var opusphp_ajax_ = {
	sreqs : [],
	init : function() { var rhttp;  if(window.XMLHttpRequest){ rhttp = new XMLHttpRequest(); } if(window.ActiveXObject){ rhttp = new ActiveXObject('Microsoft.XMLHTTP'); } if (!rhttp){ alert("We're Sorry it seem's there was a problem creating an ajax request with your browser, please make sure you have \"Javascript\" enabled."); rhttp = null; } return rhttp; },
	dom_parser : function(txt) { var a,parser; if(window.DOMParser){ parser = new DOMParser(); a = parser.parseFromString(txt,"text/xml"); }else{ a = new ActiveXObject('Microsoft.XMLDOM'); a.async="false"; a.loadXML(txt); } return a; },
	cancel : function() { for (var i = 0; i < opusphp_ajax_.sreqs.length; i++) opusphp_ajax_.sreqs[i].abort(); },
	_escape : function(s) { return escape(s).replace(/%27/g, "%5B-op-quote-op-%5D").replace(/'/g, "%5B-op-quote-op-%5D").replace(/(\s|&amp;nbsp;)+$/g, "+").replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40'); },
	_unescape : function(s) { return unescape(s.replace('+', ' ').replace('%5B-op-quote-op-%5D', "'")); },
	_settok : function(s) { opusphp_ajax_.tok = s; var t = document.getElementsByName("tokenfrsc"); for(var i=0; i<t.length; i++){ t[i].value = s; } },
	run : function(func_name, params) { var nm, http_, http_d; if(opusphp_ajax_.reqt == "POST"){ http_d = "gf=" + opusphp_ajax_._escape(func_name); for (nm = 0; nm < params.length; nm++){ http_d = http_d + "&params[]=" + params[nm]; } }else{ alert("" + opusphp_ajax_.reqt + " request type is not allowed"); } http_ = opusphp_ajax_.init(); if(http_ == null){ if(opusphp_ajax_.onf != ""){ location.href = opusphp_ajax_.onf; return false; }else{ alert("We're sorry your browser is un-able to complete this request."); return false; } }else{ http_.open(opusphp_ajax_.reqt, opusphp_ajax_.uri, true); opusphp_ajax_.sreqs[opusphp_ajax_.sreqs.length] = http_; if(opusphp_ajax_.reqt == "POST"){ http_.setRequestHeader("Method", "POST " + opusphp_ajax_.uri + " HTTP/1.1"); http_.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); } http_.onreadystatechange = function(){ if (http_.readyState != 4){ return; } if(http_.responseText=='405 Method Not Allowed'){ return; } var ret = http_.responseText;  var xmlDoc = opusphp_ajax_.dom_parser(ret); var data = xmlDoc.documentElement.childNodes; if(ret=="" && http_d==""){ alert('If you recieved this error there is an internal problem. Please refresh this page and try again.');  return; }else{ var efunc,elem,etime,evnt; var edata = null; for(var i=0; i<data.length; i++){ if(data[i].nodeName=='scp'){ for(var vi=0; vi<data[i].childNodes.length; vi++){ var cn = data[i].childNodes[vi]; if(typeof cn!='undefined'){ nname = cn.nodeName; nvalue = cn.childNodes[0].nodeValue; if(nname=='f'){ efunc = nvalue; } if(nname=='d'){ edata = nvalue; if(!edata){ edata = cn.childNodes[0].substringData(); } } if(nname=='e'){ elem = nvalue; } if(nname=='k'){ evnt = nvalue; } if(nname=='t'){ etime = nvalue; } } } switch(efunc){ case 'opusphp_ajax_.set_elm_html': o_d = 'opusphp_ajax_.set_elm_html(\''+elem+'\',\''+edata+'\');'; break; case 'opusphp_ajax_.make_timeout': o_d = 'opusphp_ajax_.make_timeout(\''+edata+'\','+etime+');'; break; case 'opusphp_ajax_.append_elm_html': o_d = 'opusphp_ajax_.append_elm_html(\''+elem+'\',\''+edata+'\');'; break; case 'opusphp_ajax_.prepend_elm_html': o_d = 'opusphp_ajax_.prepend_elm_html(\''+elem+'\',\''+edata+'\');'; break; case 'opusphp_ajax_.remove_elm': o_d = 'opusphp_ajax_.remove_elm(\''+elem+'\');'; break; case 'opusphp_ajax_.kset': o_d = 'opusphp_ajax_._settok(\''+edata+'\');'; break; case 'opusphp_ajax_.execute': o_d = 'opusphp_ajax_.execute(\''+edata+'\');'; break; case 'opusphp_ajax_.add_event': o_d = 'opusphp_ajax_.add_event(\''+elem+'\',\''+edata+'\');'; break; case 'opusphp_ajax_.remove_event': o_d = 'opusphp_ajax_.remove_event(\''+elem+'\',\''+edata+'\',\''+evnt+'\',);'; break; } try{ eval(o_d); }catch(e){ } } } } } } http_.send(http_d); delete http_; return true; },
	get_form : function(parent){ var s_d_=false; if(arguments.length > 1&&arguments[1]==true){ s_d_=true; } var prefix=''; if(arguments.length > 2){ prefix=arguments[2]; } if('string'==typeof parent){ parent=document.getElementById(parent); } var f_v_={}; if(parent){ if(parent.childNodes){ opusphp_ajax_._gfvalues(f_v_,parent.childNodes,s_d_,prefix); } } return_set  = '{'; for (var i in f_v_){ return_set += i +".:..:.\\\\\"" + (f_v_[i]==''?'undefined':escape(f_v_[i]).replace(/%22/g, "%5B-op-doublequote-op-%5D").replace(/%27/g, "%5B-op-quote-op-%5D").replace(/'/g, "%5B-op-quote-op-%5D")) +"\\\\\","; } return_set += '}'; return return_set; },
	_gfvalues : function(f_v_,children,s_d_,prefix){ var _clength=children.length; for(var i=0;i < _clength;++i){ var child=children[i]; if('undefined'!=typeof child.childNodes){ opusphp_ajax_._gfvalues(f_v_,child.childNodes,s_d_,prefix); opusphp_ajax_._gfvalue(f_v_,child,s_d_,prefix); } } },
	_gfvalue : function(f_v_,child,s_d_,prefix){ if(!child.name){ return; } if('PARAM'==child.tagName){ return; } if(child.disabled){ if(true==child.disabled){ if(false==s_d_){ return; } } } if(prefix!=child.name.substring(0,prefix.length)){ return; } if(child.type){ if(child.type=='radio'||child.type=='checkbox'){ if(false==child.checked){ return; } } } var name=child.name; var _vs=[]; if('select-multiple'==child.type){ var _celength=child.length; for(var j=0;j < _celength;++j){ var option=child.options[j]; if(true==option.selected){ _vs.push(option.value); } } }else if('textarea'==child.type){ _vs=(child.innerHTML!='' ? opusphp_ajax_._escape(child.innerHTML) : child.value); }else{ _vs=child.value; } var keyBegin=name.indexOf('['); if(0 <=keyBegin){ var _name=name; var _key=_name.substr(0,_name.indexOf('[')); var _arg=_name.substr(_name.indexOf('[')); if(typeof f_v_[_key]=='undefined'){ f_v_[_key]=[]; var opusphp_ajax_args=f_v_; while(_arg.length!=0){ var _s_arg=_arg.substr(0,_arg.indexOf(']')+1); var _k_key=_key; var _os_args=opusphp_ajax_args; _arg=_arg.substr(_arg.indexOf(']')+1); opusphp_ajax_args=opusphp_ajax_args[_key]; _key=_s_arg.substr(1,_s_arg.length-2); if(_key==''){ if('select-multiple'==child.type){ _key=_k_key; opusphp_ajax_args=_os_args; }else{ _key=opusphp_ajax_args.length; } } if(typeof opusphp_ajax_args[_key]=='undefined'){ opusphp_ajax_args[_key]=[]; } } } opusphp_ajax_args[_key]=_vs; }else{ f_v_[name]=_vs; } },
	set_elm_html : function(elm,data){  if('undefined'!=typeof(document.getElementById(elm).options)){ select_innerHTML(document.getElementById(elm),opusphp_ajax_._unescape(data)); }else if(document.getElementById(elm).tagName!='INPUT'){ return document.getElementById(elm).innerHTML = opusphp_ajax_._unescape(data); }else{ return document.getElementById(elm).value = opusphp_ajax_._unescape(data); } },
	append_elm_html : function(elm,data){ return document.getElementById(elm).innerHTML = opusphp_ajax_._unescape(document.getElementById(elm).innerHTML+data); },
	prepend_elm_html : function(elm,data){ return document.getElementById(elm).innerHTML = opusphp_ajax_._unescape(data+document.getElementById(elm).innerHTML); },
	remove_elm : function(elm){ var lkx = document.getElementById(elm); if(lkx!=null) return lkx.parentNode.removeChild(lkx); },
	make_timeout : function(func_string,time){ if(func_string!=null) setTimeout(func_string,time); },
	execute : function(in_data){ try { eval(in_data); }catch(e){ in_data; } },
	add_event : function(elm ,evt, fnc){ var node = document.getElementById(elm); if(node.addEventListener){ node.addEventListener(evt,fnc,false); }else if(node.attachEvent){ node.attachEvent('opus'+evt,fnc); }else{ return false; } return true; },
	remove_event : function(elm ,evt, fnc){ var node = document.getElementById(elm); if(node.removeEventListener){ node.removeEventListener(evt,fnc,false); }else if (node.detachEvent){ node.detachEvent('opus'+evt,fnc); }else{ return false; } return true; },
	select_innerHTML : function(obj_s,innerHTML){ obj_s.innerHTML = ""; var d = document.createElement("micoxselect"); var opt; d.id="micoxselect1"; document.body.appendChild(d); d = document.getElementById("micoxselect1"); d.style.display="none"; if(innerHTML.toLowerCase().indexOf("<option")<0){ innerHTML = "<option>" + innerHTML + "</option>"; } innerHTML = innerHTML.toLowerCase().replace(/<option/g,"<span").replace(/<\/option/g,"</span"); d.innerHTML = innerHTML; for(var i=0;i<d.childNodes.length;i++){ var a = d.childNodes[i]; if(a.tagName){ opt = document.createElement("OPTION"); if(document.all){ obj_s.add(opt); }else{ obj_s.appendChild(opt); } for(var j=0; j<a.attributes.length ; j++){ var attrName = a.attributes[j].nodeName; var attrVal = a.attributes[j].nodeValue; if(attrVal){ try{ opt.setAttribute(attrName,attrVal); opt.setAttributeNode(a.attributes[j].cloneNode(true)); }catch(e){} }} if(a.style){for(var y in a.style){ try{opt.style[y] = a.style[y];}catch(e){}}} opt.value = a.getAttribute("value"); opt.text = a.innerHTML; opt.selected = a.getAttribute('selected'); opt.className = a.className;} } document.body.removeChild(d); d = null; }
};

if(!navigator.cookieEnabled){
	if(!document.location.href.match(/not-allowed/g)){
	document.location = 'http://'+document.domain+'/not-allowed/why/Cookies-need-to-be-enabled';
	}
}
