/******************************************
* RegisterNow()
* redirect users to register page.
******************************************/
function RegisterNow()
{
    var ok = confirm(NeedRegister);
    if(ok==1) document.location = "register.php";
}
/******************************************
* AjaxRequest()
* send progress bar request
******************************************/
var lastSuccessUrl = '';
function AjaxRequest(rParam)
{
    if(uploadDone == 1) return;
    lastSuccessParam = rParam;
    //var url=document.uploadform.returnurl.value;
    //alert(rParam+'&url='+progress_url+'&r='+Math.random());
    var myAjax = new Ajax.Request(
                     progress_url,
                     {method: 'get', parameters: rParam+'&r='+Math.random(), onComplete: showResponse,onFailure: reportError}
                     );
}
/******************************************
* reportError()
* for debuging
******************************************/
function reportError(request)
{   
    alert(originalRequest.responseText);
    alert('Sorry. There was an error.');
}
/******************************************
* AjaxSubmit(formname,holder)
* submi the form with the 'formname',
* if holder is specifed, show the content in holder
* @param string
* @param string
******************************************/
function AjaxSubmit(formname,holder)
{
    var url = $(formname).action;
    var httpmethod = $(formname).method;

    var Param = Form.serialize(formname);
    
    if(holder)
    var myAjax = new Ajax.Updater (
                    holder,
                    url,
                    {method: httpmethod, parameters: Param,evalScripts: true}
                    );
    else
    {
        var success	= function(t){submitComplete(t, formname);}
    	var failure	= function(t){submitFailed(t, formname);}
        var myAjax = new Ajax.Request (
                    url,
                    {method:httpmethod, parameters:Param, onSuccess:success, onFailure:failure}
                    );
    }
}
/******************************************
* is_object(id)
* check if the object with the 'id' exists
* @param string
* @return bool
******************************************/
function is_object(id)
{
    return document.getElementById(id) != null;
}
/******************************************
* in_array(name,arr)
* check name exists in array 'arr'
* @param string
* @param array
* @return bool
******************************************/
function in_array(name,arr)
{
   name=name.toLowerCase();
   var last=name.lastIndexOf('.');
   var ok=0;
   if(last!=-1)
   {
      var ext=name.substring(last+1);
      if(ext!='')
      {
          var exts=arr.split(',');
          for(var i=0;i<exts.length;i++)
          {
              if(exts[i]==ext) return 1;
          }
      }
      else
      {
          return 0;
      }
   }
   else
   {
       return 0;
   }
   return 0;
}
/**
* Emulates unhtmlspecialchars in vBulletin
*
* @param	string	String to process
*
* @return	string
*/
function unhtmlspecialchars(str)
{
	f = new Array(/&lt;/g, /&gt;/g, /&quot;/g, /&amp;/g);
	r = new Array('<', '>', '"', '&');

	for (var i in f)
	{
		str = str.replace(f[i], r[i]);
	}

	return str;
}

/**
* Emulates PHP's htmlspecialchars()
*
* @param	string	String to process
*
* @return	string
*/
function htmlspecialchars(str)
{
	//var f = new Array(/&(?!#[0-9]+;)/g, /</g, />/g, /"/g);
	var f = new Array(
		(is_mac && is_ie ? new RegExp('&', 'g') : new RegExp('&(?!#[0-9]+;)', 'g')),
		new RegExp('<', 'g'),
		new RegExp('>', 'g'),
		new RegExp('"', 'g')
	);
	var r = new Array(
		'&amp;',
		'&lt;',
		'&gt;',
		'&quot;'
	);

	for (var i = 0; i < f.length; i++)
	{
		str = str.replace(f[i], r[i]);
	}

	return str;
}
function myOpenWindow(link,width,height)
{
    if(width==0) width=500;
    if(height==0) height=300;
    var tmp = document.createElement("DIV");
    tmp.innerHTML = link.innerHTML;
    var wintitle = tmp.textContent||tmp.innerText;
    var folderswindow=dhtmlmodal.open('mywindow', 'iframe', link.href+'&inline=1', wintitle, 'width='+width+'px,height='+height+'px,fullscreen=1,center=1,resize=1,scrolling=0');
    return false;
}
function ClipBoard(id)
{
	var ccc = MM_findObj(id);
    if (document.all){
	ccc.value = ccc.innerText;
	Copied = ccc.createTextRange();
	Copied.execCommand("Copy");
    alert("URL copied!");
    }
    else
    {
        alert('Close this box and press \'CTL-c\' to copy');
        ccc.focus();
        ccc.select();
    }
}
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 highlight(id) {
    var field = MM_findObj(id);
	field.focus();
  	field.select();
}
function toggle(el) {
    lyr = document.getElementById(el);

    if (lyr.style.display != 'block') { lyr.style.display = 'block'; }

    else { lyr.style.display = 'none'; }
}
function checkAll()
{
    for (var i=0;i<document.myform.elements.length;i++)
    {
       var e = document.myform.elements[i];
       if (e.type == 'checkbox' && e.name != 'allbox'&& !e.disabled)
       e.checked = document.myform.allbox.checked;
    }
}
function opConfirm(text, conf)
{
    for (var i=0;i<document.myform.elements.length;i++)
    {
       var e = document.myform.elements[i];
       if (e.type == 'checkbox' && e.name != 'allbox' && e.checked == 1 ) {
          if (conf) {
             return confirm(text);
          } else {
             return 1;
          }
       }
    }
    return false;
}
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i

function checkmail(e){
    var returnval=emailfilter.test(e)
    return returnval;
}
function getexpirydate( nodays){
    var UTCstring;
    Today = new Date();
    nomilli=Date.parse(Today);
    Today.setTime(nomilli+nodays*24*60*60*1000);
    UTCstring = Today.toUTCString();
    return UTCstring;
}
function getcookie(cookiename) {
    var cookiestring=""+document.cookie;
    var index1=cookiestring.indexOf(cookiename);
    if (index1==-1 || cookiename=="") return "";
    var index2=cookiestring.indexOf(';',index1);
    if (index2==-1) index2=cookiestring.length;
    return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
}
function setcookie(name,value)
{
    duration=30;

    cookiestring=name+"="+escape(value)+";EXPIRES="+getexpirydate(duration);
    document.cookie=cookiestring;

}
function delcookie(name)
{
    cookiestring=name+"="+escape('')+";EXPIRES="+getexpirydate(-1);
    document.cookie=cookiestring;
}
function flashObj(flashName) {
    var isIE = navigator.appName.indexOf("Microsoft") != -1;
    //return (isIE) ? window[flashName] : document[flashName];
    return document[flashName];
}
function copyLinks(param)
{
    txtToCopy = document.getElementById('copyurl_'+param).value;
    flashObj('clipboard'+param).SetVariable('txtToCopy',txtToCopy);
    document.getElementById('copyinfo_'+param).innerHTML = 'Copied';
    return txtToCopy;
}
function buildLinkCodes(codeid)
{
    var codes = document.getElementsByTagName('textarea');
    var codesnum = codes.length;

    var colspanobj = document.getElementById('colspan');
    var colspan    = colspanobj.options[colspanobj.selectedIndex].value;
    var linebreak  = document.getElementById('colseparator').checked?"<br>":"\n";

    var linkcodes = '';
    var j=0;
    for(var i=0; i<codesnum; i++)
    {
        var codeelem = codes[i];
        var parts = codeelem.id.split('_');
        if('copyurl_'+codeid==parts[0]+'_'+parts[1])
        {
            j++;
            linkcodes = linkcodes + (codeelem.value) + (j%colspan==0?linebreak:" ");
        }
    }
    linkcodes = linkcodes.substring(0,linkcodes.length-linebreak.length);
    document.getElementById('copyurl_all').value = linkcodes;
}
/***********************************************
* Show Hint script- ? Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

var horizontal_offset="9px" //horizontal offset of hint box from anchor link

/////No further editting needed

var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
var ie=document.all
var ns6=document.getElementById&&!document.all

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
if (whichedge=="rightedge"){
var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
}
else{
var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
}
return edgeoffset
}

function showhint(menucontents, obj, e, tipwidth){
if ((ie||ns6) && document.getElementById("hintbox")){
dropmenuobj=document.getElementById("hintbox")
dropmenuobj.innerHTML=menucontents
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px"
dropmenuobj.style.visibility="visible"
obj.onmouseout=hidetip
}
}

function hidetip(e){
dropmenuobj.style.visibility="hidden"
dropmenuobj.style.left="-500px"
}

function createhintbox(){
var divblock=document.createElement("div")
divblock.setAttribute("id", "hintbox")
document.body.appendChild(divblock)
}

if (window.addEventListener)
window.addEventListener("load", createhintbox, false)
else if (window.attachEvent)
window.attachEvent("onload", createhintbox)
else if (document.getElementById)
window.onload=createhintbox
/***********************************************
* Bookmark site script- ? Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* Modified to support Opera */
function bookmarksite(title,url){
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
}
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}
