var imagePath = './templates/client_admin/images/';
var currDay, currMonth, currYear;
/**
* Toggles the check state of a group of boxes
*
* Checkboxes must have an id attribute in the form cb0, cb1...
* @param The number of box to 'check'
* @param An alternative field name
*/
function siteXMLHttpRequest()
{
   var request = null;
   if(window.XMLHttpRequest)
   {   //moz, safari1.2+, opera8
      try
      {
         request = new XMLHttpRequest();
         request.overrideMimeType('text/xml');
      }
      catch(e)
      {
         request = null;
      }
   }
   else if(window.ActiveXObject)
   {   //ie5.5+
      try
      {
         request = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(e)
      {
         try
         {
         request = new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch(e)
         {
            request = null;
         }
      }
   }
   return request;
}

function checkAll( n, fldName ) 
{
  if (!fldName) 
  {
     fldName = 'id';
  }
  for (var j = 1; j <= n; j++)
  {
    box = eval(document.getElementById(fldName + j));
    toggle = eval(document.getElementById('toggle'));
    if (toggle.checked)
    {
      box.checked = true;
      document.adminForm.boxchecked.value++;
    }
    else
    {
      box.checked = false;
      document.adminForm.boxchecked.value--;
    }
  }
}

function checkAllCart() 
{
  $("input[@id*=id]").attr({checked:true});
}

function uncheckAllCart() 
{
  $("input[@id*=id]").attr({checked:false});
}

function isChecked(isitchecked)
{
	if (isitchecked == true){
		document.adminForm.boxchecked.value++;
	}
	else {
		document.adminForm.boxchecked.value--;
	}
}

function isCheckedSite(isitchecked)
{
	if (isitchecked == true){
		document.siteForm.boxchecked.value++;
	}
	else {
		document.siteForm.boxchecked.value--;
	}
}



/**
* Default function.  Usually would be overriden by the component
*/
function submitbutton(pressbutton) 
{
	submitform(pressbutton);
}

/**
* Submit the admin form
*/
function submitform(pressbutton){
	document.adminForm.task.value=pressbutton;
	try 
	{
		document.adminForm.onsubmit();
	}
	catch(e)
	{
	
	}
	document.adminForm.submit();	
	
}


/**
* Default function.  Usually would be overriden by the component
*/
function submitbuttonsite(pressbutton) 
{
	submitform1(pressbutton);
}

/**
* Submit the admin form
*/
function submitform1(pressbutton){
	document.siteForm.task.value=pressbutton;
	try 
	{
		document.siteForm.onsubmit();
	}
	catch(e)
	{
	
	}
	document.siteForm.submit();	
	
}



function hideMainMenu()
{
	document.adminForm.hidemainmenu.value=1;
}

function confirmSubmit()
{
  var agree=confirm("Are you sure you wish to continue?");
  if (agree)
    return true ;
  else
    return false ;
}

var form = document.adminForm;
function moveItems (from, to, bitstatus)
{
   var selindex;
   
   //document.getElementById('changesWereMade').innerHTML='Changes were made to group attachments (don\'t forget to apply changes) *';
   
   while ((selindex=from.selectedIndex) != -1)
   {
       var i;
       var item = new Option(from.options[selindex].text,
                             from.options[selindex].value,
                             false, true);

       from.options[selindex] = null;
       //to.options[to.options.length] = item;

       // find spot to put new item
       for (i=0; i<to.options.length && to.options[i].text < item.text; i++) { }
       var newindex = i;

       // move everything else down
       for (i=to.options.length; i>newindex; i--) {
                to.options[i] = new Option(to.options[i-1].text,
                                      to.options[i-1].value,
                                      false,
                                      to.options[i-1].selected);
       }
       to.options[newindex] = item;

       // turn the groupmask bit on or off
       var groupId = item.value;
       var element = document.forms['adminForm'].elements['groupsStats'+groupId];
       element.value = bitstatus;
   }
}

function moveIn ()
{
   var form = document.adminForm;
   var inlist = form.groupsIn;
   var outlist = form.groups;
   moveItems(document.adminForm.groups, document.adminForm.groupsIn, '1');
}
function moveOut ()
{
   moveItems(document.adminForm.groupsIn, document.adminForm.groups, '0');
}


function moveItems1 (from, to, bitstatus)
{
   var selindex;
   
   //document.getElementById('changesWereMade').innerHTML='Changes were made to group attachments (don\'t forget to apply changes) *';
   
   while ((selindex=from.selectedIndex) != -1)
   {
       var i;
       var item = new Option(from.options[selindex].text,
                             from.options[selindex].value,
                             false, true);

       from.options[selindex] = null;
       //to.options[to.options.length] = item;

       // find spot to put new item
       for (i=0; i<to.options.length && to.options[i].text < item.text; i++) { }
       var newindex = i;

       // move everything else down
       for (i=to.options.length; i>newindex; i--) {
                to.options[i] = new Option(to.options[i-1].text,
                                      to.options[i-1].value,
                                      false,
                                      to.options[i-1].selected);
       }
       to.options[newindex] = item;

       // turn the groupmask bit on or off
       var groupId = item.value;
       var element = document.forms['adminForm'].elements['tableStat'+groupId];
       element.value = bitstatus;
   }
}

function moveIn1 ()
{
   var form = document.adminForm;
   var inlist = form.groupsIn1;
   var outlist = form.groups1;
   moveItems1(document.adminForm.groups1, document.adminForm.groupsIn1, '1');
}
function moveOut1 ()
{
   moveItems1(document.adminForm.groupsIn1, document.adminForm.groups1, '0');
}

function saveorder( n ) 
{
	checkAll_button( n );
}

//needed by saveorder function
function checkAll_button( n ) 
{
	for ( var j = 1; j <= n; j++ ) 
	{
		box = eval( "document.adminForm.id" + j );
		if ( box ) 
		{
			if ( box.checked == false ) 
			{
				box.checked = true;
			}
		} 
		else 
		{
			alert("You cannot change the order of items, as an item in the list is `Checked Out`");
			return;
		}
	}
	submitform('saveorder');
}

function listOrderTask( id, task ) 
{
  var f = document.adminForm;
  cb = eval( 'f.' + id );
  if (cb) 
  {
    for (i = 0; true; i++) 
    {
      cbx = eval('f.id'+i);
      if (!cbx) break;
      cbx.checked = false;
    } 
    cb.checked = true;
    f.boxchecked.value = 1;
    submitbutton(task);
  }
  return false;
}

function listTask( id, task ) 
{
  var f = document.adminForm;
  cb = eval( 'f.' + id );
  if (cb) 
  {
    for (i = 0; true; i++) 
    {
      cbx = eval('f.id'+i);
      if (!cbx) break;
      cbx.checked = false;
    } 
    cb.checked = true;
    f.boxchecked.value = 1;
    submitbutton(task);
  }
  return false;
}

function parseFormErrors( data )
{
  var errors = new Array();
  var item;
  $("span[@id*=error_]").html("");	
  
   try {errors = eval( data );} catch(err){}
   for (i = 0; i < (errors.length); i++ )
   {
  	  item = errors[i];
  	  if ( document.getElementById('error_' +item['name']) != null )
    	  document.getElementById('error_' +item['name']).innerHTML = '<br/>'+item['value'];
  	  else 	 
  	   document.getElementById('TD_' +item['name']+ '_element').innerHTML += '<span id="error_' +item['name']+ '" class="error"><br/>' + item['value']+ '</span>';
   }
  
}


function putAddress( divName, address, city, state, zip, country )
{
 if ( divName == 'useraddress')
 {
   document.getElementById("country").selectedIndex = country;
   document.getElementById("address").value = address;
   document.getElementById("city").value = city;
   document.getElementById("state").value = state;
   document.getElementById("zip").value = zip;
 }
 else
 {
   document.getElementById("address1").value = address;
   document.getElementById("city1").value = city;
   document.getElementById("state1").value = state;
   document.getElementById("zip1").value = zip;
 }
 document.getElementById(divName).style.display = 'none';
}


function putAddress1( divName, address, city, state, zip, country )
{
  document.getElementById("countryId").selectedIndex = country;
  document.getElementById("address").value = address;
  document.getElementById("city").value = city;
  document.getElementById("stateId").value = state;
  document.getElementById("zip").value = zip;
  document.getElementById(divName).style.display = 'none';
}


function viewDiv( divName ) 
{
	document.getElementById(divName).style.display = 'block';
	if ( divName == 'useraddress' )
	  document.getElementById('useraddress1').style.display = 'none';
	else  
	  document.getElementById('useraddress').style.display = 'none';
}

function viewDiv1( divName ) 
{
	document.getElementById(divName).style.display = 'block';
}



function hideDiv( divName ) {document.getElementById(divName).style.display = 'none';}


function parseFormErrors1( data, divId )
{
  var errors = new Array();
  
  var item, errMsg, caption;
  errMsg = '';
  //$("span[@id*=error_]").html("");	
  
   try {errors = eval( data );} catch(err){}
   for (i = 0; i < (errors.length); i++ )
   {
  	  item = errors[i];
  	  caption = $('#TD_'+item['name']+'_caption').html();
  	  caption = caption.replace('*', '');
  	  errMsg += '<li>'+caption+' '+item['value']+'</li>';
  	  //document.getElementById('TD_'+item['name']+'_caption').className = 'errorRed';
   }
   document.getElementById(divId).innerHTML = captionHeaderError+':<br/><ul class="error">' +errMsg+'</ul>';
   $('#'+divId).show();
   
}

function createCustomUpload()
{
  var W3CDOM = (document.createElement && document.getElementsByTagName);
  
  if (!W3CDOM) return;
  var fakeFileUpload = document.getElementById('fakefile');
  var x = document.getElementsByTagName('input');
  for (var i=0;i<x.length;i++)
  {
	if (x[i].type != 'file') continue;
	if (x[i].parentNode.className != 'fileinputs' && x[i].parentNode.className != 'fileinputs1' ) continue;
	x[i].className = 'file hidden';
	var clone = fakeFileUpload.cloneNode(true);
	x[i].parentNode.appendChild(clone);
	x[i].relatedElement = clone.getElementsByTagName('input')[0];
	x[i].relatedElement.id = 'new_element';
	document.getElementById('new_element').style.width = '100px';
	
	x[i].onchange = x[i].onkeyup = x[i].onmouseout = function () {
		this.relatedElement.value = this.value;
		document.getElementById("fileInputCustom").value = this.value;
	}
  }
}


function addToCart( id )
{
  $.post(urlSite+"components/com_cart/cart.jquery.php",{id: id, task: "addToCart",request:1}, 
     function(data)
     {
     }
  );
}

function changeOrder( orderBy, desc )
{
	$('#orderBy').val( orderBy );
	$('#desc').val( desc );
	document.adminForm.submit();
}

function showCursorMessage() {
	$.cursorMessage( captionAddToCart );
}
