/*======================================================================*\
|| #################################################################### ||
|| # camweb v1.0 
|| # ---------------------------------------------------------------- # ||
|| # Copyright ©2006 CZONE Technologies. All Rights Reserved.           ||
|| # This file may not be redistributed in whole or             part. # ||
|| # ---------------- CAMWEB IS NOT FREE SOFTWARE ----------------    # ||
|| # http://www.czonetechnologies.com                                 # ||
|| #################################################################### ||
\*======================================================================*/
// JavaScript Document
//Count characters in a textfield/textarea
function count(obj,len,minval,maxval){
	var notice='';
	if(maxval && Number(obj.value) > maxval){  
	obj.value=maxval;
	notice=" Must be < "+maxval;
	}	
	if(minval && Number(obj.value) < minval){  
	//obj.value=minval;
	notice+=" Must be > "+minval;
	}	
if(len){notice+=" "+(len-obj.value.length) +" chars left.";}
	if(len && len-obj.value.length<=0){  obj.value=obj.value.substring(0,len);  }
document.getElementById('err_'+obj.name).className='showerror';
document.getElementById('err_'+obj.name).innerHTML=notice;
}
function maxval(obj,val){
document.getElementById('err_'+obj.name).className='showerror';


}
//Dynamically add/remove div elements to/from the end of an existing element.Like pop/push to an array...
function dynamic(what,divid,html){
nodes=document.getElementById(divid).getElementsByTagName('div');
if(what=='add'){
var dd=document.createElement('div');
dd.setAttribute('id',nodes.length+1);
count++;
dd.innerHTML=html;
document.getElementById(divid).appendChild(dd);
 }else{
 dd=nodes[nodes.length-1];
 document.getElementById(divid).removeChild(dd);
 }
}
///validation functions
function validate(frm){
//	frm=document.forms[0];
var err=frm.getElementsByTagName('span');
var corr=true;
for(i=0;i<frm.elements.length-1;i++){
var e=frm.elements[i];
if(e.name.indexOf("[]")!=-1){var ename=e.name.substr(0,e.name.length-2);}else{var ename=e.name;}
if(err['err_'+ename]){
	if(err['err_'+ename].innerHTML!=''){
if(ename=='username' || ename=='password'){
if(e.value.length<5 ){
//alert(err['err_'+ename]);
err['err_'+ename].className='showerror';
corr=false;
}else if(e.value.match(/[^a-z0-9\:]/)){
	err['err_'+ename].innerHTML ='Alphanumeric characters only.';
	err['err_'+ename].className='showerror';
	corr=false;
}else{
err['err_'+ename].className='error';
}
}else if(ename=='cpassword'){
if(e.value!=frm.elements['password'].value){
//alert(err['err_'+ename]);
err['err_'+ename].className='showerror';
corr=false;
}else{
err['err_'+ename].className='error';
}
}else if(ename.indexOf('email')!=-1){
if(e.value.indexOf("@")==-1 || e.value.indexOf(".")==-1){
//alert(err['err_'+ename]);
err['err_'+ename].className='showerror';
corr=false;
}else{
err['err_'+ename].className='error';
}
}else if(ename=='agree'){
if(e.checked==false){
//alert(err['err_'+ename]);
err['err_'+ename].className='showerror';
corr=false;
}else{
err['err_'+ename].className='error';
}
}else if(e.type=='select-one'){
if(e.value=='' || e.value=='select' || e.value=='Select'){
//alert(err['err_'+ename]);
err['err_'+ename].className='showerror';
corr=false;
}else{
err['err_'+ename].className='error';
}
}else{
if(e.value=='' && e.type!='checkbox'){
//alert(err['err_'+ename]);
err['err_'+ename].className='showerror';
corr=false;
}else{
err['err_'+ename].className='error';
}
}
	}
}
}
if(!corr){
return false;
}else{
return true;
}
}
function showHide(elementID) {
    var desc = null;

    if (document.getElementById) {
      desc = document.getElementById("cnt_desc_" + elementID);
    } else if (document.all) {
      desc = document.all["cnt_desc_" + elementID];
    } else if (document.layers) {
      desc = document.layers["cnt_desc_" + elementID];
    }

    if (desc) {
      if (desc.style.display == 'none') {
        expand(elementID);
      } else {
        collapse(elementID);
      }
    }
  }

  function expand(elementID) {
    var cnt = null;
    var desc = null;
    var icon = null;

    if (document.getElementById) {
      cnt = document.getElementById("cnt_" + elementID);
      desc = document.getElementById("cnt_desc_" + elementID);
      icon = document.getElementById("cnt_icon_" + elementID);
    } else if (document.all) {
      cnt = document.all["cnt_" + elementID];
      desc = document.all["cnt_desc_" + elementID];
      icon = document.all["cnt_icon_" + elementID];
    } else if (document.layers) {
      cnt = document.layers["cnt_" + elementID];
      desc = document.layers["cnt_desc_" + elementID];
      icon = document.layers["cnt_icon_" + elementID];
    }

    if (desc.style.display == 'none') {
		cnt.style.fontWeight='';
		cnt.style.textAlign='left';
       cnt.style.backgroundColor = '#eeeeee';
      cnt.style.border = '.1em solid #cccccc';
      cnt.style.padding = '5px';
      cnt.style.marginBottom = '5px';
	  cnt.style.marginLeft = '20px';
      desc.style.display = 'block';
      if(icon){icon.src = "images/icon_minus.gif";}
    }
  }

  function collapse(elementID) {
    var cnt = null;
    var desc = null;
    var icon = null;

    if (document.getElementById) {
      cnt = document.getElementById("cnt_" + elementID);
      desc = document.getElementById("cnt_desc_" + elementID);
      icon = document.getElementById("cnt_icon_" + elementID);
    } else if (document.all) {
      cnt = document.all["cnt_" + elementID];
      desc = document.all["cnt_desc_" + elementID];
      icon = document.all["cnt_icon_" + elementID];
    } else if (document.layers) {
      cnt = document.layers["cnt_" + elementID];
      desc = document.layers["cnt_desc_" + elementID];
      icon = document.layers["cnt_icon_" + elementID];
    }

    if (desc.style.display != 'none') {
	  cnt.style.textAlign='left';
	  cnt.style.fontWeight='bold';
      cnt.style.backgroundColor = '';
      cnt.style.border = '';
      cnt.style.padding = '';
      cnt.style.marginBottom = '2px';
	  cnt.style.marginLeft = '20px';
      desc.style.display = 'none';
      if(icon){icon.src = "images/icon_plus.gif";}
    }
  }

  function expandAll() {
    var cnt = null;

    if (document.body.getElementsByTagName) {
      cnt = document.body.getElementsByTagName('DIV');
    } else if (document.body.all) {
      cnt = document.body.all.tags('DIV');
    }

    if (cnt) {
      for (var i=0; i<cnt.length; i++) {
        if (cnt[i].id.substring(0, 4) == 'cnt_') {
          if (cnt[i].id.substring(0, 5) != 'cnt_d') {
            expand(cnt[i].id.substring(4));
          }
        }
      }
    }
  }

  function collapseAll() {
    var cnt = null;

    if (document.body.getElementsByTagName) {
      cnt = document.body.getElementsByTagName('DIV');
    } else if (document.body.all) {
      cnt = document.body.all.tags('DIV');
    }

    if (cnt) {
      for (var i=0; i<cnt.length; i++) {
        if (cnt[i].id.substring(0, 4) == 'cnt_') {
          if (cnt[i].id.substring(0, 5) != 'cnt_d') {
            collapse(cnt[i].id.substring(4));
          }
        }
      }
    }
  }
  //ajax function
   function makeRequest(url,num) {
        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
		
        http_request.onreadystatechange = eval("alertContents"+[num]);
        http_request.open('GET', url, true);
        http_request.send(null);
		//alert('hi');

    }
	///
function alertContents() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
           var xmldoc = http_request.responseText;
		   return xmldoc;
			 } else {
                return 'There was a problem with the request.';
            }
        }else{
		//document.getElementById('Layer1').style.visibility="visible";
		}

    }

	// Image resize function
function makeImg($src,$height,$width){
var $hmax=100;
var $wmax=100;
  $hscale = $height / $hmax;
  $wscale = $width / $wmax;
if (($hscale > 1) || ($wscale > 1)) {
$scale = ($hscale > $wscale)?$hscale:$wscale;
} else {
$scale = 1;
}
$newwidth = Math.floor($width / $scale);
$newheight= Math.floor($height / $scale);
//alert($newwidth+":"+$newheight);
document.write('<img src='+$src+' width='+$newwidth+' height='+$newheight+' >');
}

//Show hide options...
function show_hide_options(refdiv, sign){

	var domItem=document.getElementById(refdiv);

	if(domItem.style.display=='none'){
		for(var i=1; i<=refdiv.substr(1); i++){
			tmp_id=refdiv.substr(0,1)+i;
			document.getElementById(tmp_id).className='showerror';
		}
	if(sign){
		sign.innerHTML=sign.innerHTML.replace('More','Fewer');
		sign.innerHTML=sign.innerHTML.replace('down','up');
		}
	}else{
		for(var i=1; i<=refdiv.substr(1); i++){
			tmp_id=refdiv.substr(0,1)+i;
			document.getElementById(tmp_id).style.display='none';
		}
	if(sign){
		sign.innerHTML=sign.innerHTML.replace('Fewer','More');
		sign.innerHTML=sign.innerHTML.replace('up','down');
		}
	}
}
function show_hide(divid){
if(document.getElementById(divid).style.display=="none"){
	document.getElementById(divid).style.display="";	
}else{
	document.getElementById(divid).style.display="none";
}
}
// Create a div element dynamically, put it inside an element 'e' and also put in some HTML in it..
function create_element(e,html){
var test=document.createElement('div');
document.getElementById(e).appendChild(test);
test.innerHTML=html;
}
function showmydiv(showid,hideid){
	hide=hideid.split(",");
	for(i=0;i<hide.length;i++){
		document.getElementById(hide[i]).style.display='none';
	}
	document.getElementById(showid).style.display='';
}
//AJAX
function ajax_form(div,url,form,post){
/*updateRTEs();

	var e=form.elements;
	for(i=0;i<e.length;i++){
	alert(e[i].name+":"+e[i].type+":"+e[i].value);
	}*/
if(validate(form)==false){return false;}
if(post==''){post='post';}
var query=Form.serialize(form);
//alert(query);
var divs=form.getElementsByTagName('div');
//alert(divs['indicator']);
var indicator=divs['indicator'];

new Ajax.Updater(div,url,{method:post,parameters:query,evalScripts:true,asynchronous:true,onLoading:function(){Element.show(indicator);},onComplete:function(){Element.hide(indicator);}});
return false;
}
function switchTabs(active,inactive){
//var inact=document.getElementById('tabs').childNodes;
var inact=inactive.split(",");
for(i=0;i<inact.length;i++){
$(inact[i]).className='';
}
$(active).className='active';
}
//

//Palette functions
function showPalette(obj){
	var offset = Position.cumulativeOffset(obj);
  currentField = obj;
  $('colorpalette').style.left = offset[0] + 'px';
  $('colorpalette').style.top = offset[1] + obj.offsetHeight + 'px';
	$('colorpalette').style.display = '' == $('colorpalette').style.display ? 'none' : '';
}
function setColor(color) {
	currentField.value = color;
  currentField.style.backgroundColor = color;
  $('colorpalette').style.display = 'none';
}

// function for grids
function gridchk(frm){
	//alert(frm);
var e=frm.elements;	
for(i=1;i<e.length;i++){
	if(e[i].type=='checkbox'){
	if(e[0].checked==true){
     e[i].checked=true;
	 e[i].parentNode.parentNode.className='active';	
	}
	if(e[0].checked==false){
	 e[i].parentNode.parentNode.className='inactive';
     e[i].checked=false;
	}
	}
}
}
function gridclass(chk){
//alert(chk.checked);
if(chk.checked==true){
chk.parentNode.parentNode.className='active';	
}else{
chk.parentNode.parentNode.className='inactive';		
}
}
function genlink(frm){
 var e=frm.elements;
 for(i=1; i<e.length; i++){
 
  frm.catid.value+="_"+e[i].value;
   }
   frm.submit();
}
function setlink(){
 document.forms[1].catid.value= document.forms[0].elements[document.forms[0].elements.length-1].value;
}
