function divChangeStateOff(divID)
{
 var divElem = document.getElementById(divID);
 divElem.style.display = 'none';
}  
function divChangeStateOn(divID)
{
var divElem = document.getElementById(divID);
divElem.style.display = 'block';
}


function divChangeBack(divID)
 {
  
 var divElem = document.getElementById(divID);
 		
	 if (divElem.style.backgroundImage == 'url(images/arrow_down.png)' || divElem.style.backgroundImage == '')
 {
 //expand
 divElem.style.backgroundImage = 'url(images/arrow_right.png)';
 }
 else
 {
 //collapse
 divElem.style.backgroundImage = 'url(images/arrow_down.png)';
 }
 
 }

function divChangeStateMenu(divID)
 {
 var divElem = document.getElementById(divID);

 var divMenu1 = document.getElementById('menu1');
 var divMenu2 = document.getElementById('menu2');
 var divMenu3 = document.getElementById('menu3');
 var divD33 = document.getElementById('d33');


if(divMenu1.style.display != 'none'){Effect.toggle('menu1', 'appear', { duration: 0.5 });}
if(divMenu2.style.display != 'none'){ Effect.toggle('menu2', 'appear', { duration: 0.5 });}
if(divMenu3.style.display != 'none'){ Effect.toggle('menu3', 'appear', { duration: 0.5 });}
if(divD33.style.display != 'none'){ Effect.toggle('d33', 'appear', { duration: 0.5 });}


 //expand
 Effect.toggle(divID, 'appear', { delay: 0.5 });
 
 }

function hideMainMenu1(divID)
 {
 var divData = document.getElementById('data1');
 var divManage = document.getElementById('manage1');
 var divReport = document.getElementById('reports1');
 var divDisplay = document.getElementById('display1');
 var divAffiliates = document.getElementById('affiliates1');

if(divID == 'data1'){
if(divReport.style.display != 'none'){
Effect.toggle('reports1', 'slide');
}
if(divManage.style.display != 'none'){
Effect.toggle('manage1', 'slide');
}
if(divDisplay.style.display != 'none'){
Effect.toggle('display1', 'slide');
}
if(divAffiliates.style.display != 'none'){
Effect.toggle('affiliates1', 'slide');
}
}

if(divID == 'reports1'){
if(divData.style.display != 'none'){
Effect.toggle('data1', 'slide');
}

if(divManage.style.display != 'none'){
Effect.toggle('manage1', 'slide');
}

if(divDisplay.style.display != 'none'){
Effect.toggle('display1', 'slide');
}
if(divAffiliates.style.display != 'none'){
Effect.toggle('affiliates1', 'slide');
}
}


if(divID == 'manage1'){
if(divData.style.display != 'none'){
Effect.toggle('data1', 'slide');
}

if(divReport.style.display != 'none'){
Effect.toggle('reports1', 'slide');
}

if(divDisplay.style.display != 'none'){
Effect.toggle('display1', 'slide');
}
if(divAffiliates.style.display != 'none'){
Effect.toggle('affiliates1', 'slide');
}
}


if(divID == 'display1'){
if(divReport.style.display != 'none'){
Effect.toggle('reports1', 'slide');
}
if(divManage.style.display != 'none'){
Effect.toggle('manage1', 'slide');
}
if(divData.style.display != 'none'){
Effect.toggle('data1', 'slide');
}
if(divAffiliates.style.display != 'none'){
Effect.toggle('affiliates1', 'slide');
}
}

if(divID == 'affiliates1'){
if(divReport.style.display != 'none'){
Effect.toggle('reports1', 'slide');
}
if(divManage.style.display != 'none'){
Effect.toggle('manage1', 'slide');
}
if(divData.style.display != 'none'){
Effect.toggle('data1', 'slide');
}
if(divDisplay.style.display != 'none'){
Effect.toggle('display1', 'slide');
}
}

Effect.toggle(divID, 'slide');
}


 function popup(url){
 cuteLittleWindow = window.open(url, "littleWindow", "width=610,height=480"); 
}

function getSimilar(related, store, res, caller)
    {

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
        var poststr = "related=" + encodeURI(related) +
      				  "&store=" + encodeURI(store);

	   var updateResults = new ajaxObject(res, 'extra.php', caller);
	   updateResults.update(poststr);
}

function setBounds(lower, upper, asin, site, res, caller)
{

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
var poststr = "lower=" + encodeURI(lower) +
      		      "&upper=" + encodeURI(upper) +
                      "&asin=" + encodeURI(asin) +
                      "&site=" + encodeURI(site);
var updateResults = new ajaxObject(res, 'setbounds.php', caller);
updateResults.update(poststr);
}


function getReview(related, store, res, caller)
    {

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
        var poststr = "review=" + encodeURI(related) +
      				  "&store=" + encodeURI(store);

	   var updateResults = new ajaxObject(res, 'extra.php', caller);
	   updateResults.update(poststr);
}


function commissionDetail(id, caller)
    {

var res = 'commission-res';
var remove = 'remove-dbq';

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
document.getElementById(remove).innerHTML = '<a href="#" onClick="Effect.toggle(\'commission\', \'slide\'); return false;">View Details</a>';

        var poststr = "id=" + encodeURI(id);

	   var updateResults = new ajaxObject(res, 'commissiondetail.php', caller);
	   updateResults.update(poststr);
}

function getRaw(asin, store, res, caller)
    {

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
        var poststr = "raw=" + encodeURI(asin) +
      			    "&site=" + encodeURI(store);

	   var updateResults = new ajaxObject(res, 'extra.php', caller);
	   updateResults.update(poststr);
}

function notEmpty(val){

 if(val != ""){
  return true;
  }else{
   return false;
   }
 
 }


function friendRefer(data, id, asin, name, site, caller)
    {
    
var suffix = asin + site;
var reffname = 'reffname-' + suffix;
var refemail = 'refemail-' + suffix;
var reffriend_results = 'reffriend_results-' + suffix;
var reffname_error = 'reffname_error-' + suffix;
var refemail_error = 'refemail_error-' + suffix;

    var fname = encodeURI(data.reffname.value);
    var ftext = encodeURI(data.reftext.value);

    var fnametest = notEmpty(fname);

    var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
    var refemail = encodeURI(data.refemail.value);
    var refmailtest = emailRegxp.test(refemail);

	if (fnametest && refmailtest){ 
	 
	   document.getElementById(reffriend_results).innerHTML = '<p align="center"><img align="center" src="phpmy_loading.gif"></p>';
	   var poststr ="id=" + id +
	   			"&email=" + refemail +	
	   			"&name=" + fname +	
                                "&prodname=" + name +	
	   			"&asin=" + asin +	
      				"&site=" + site +
                                "&text=" + ftext;
      
	   var updateResults = new ajaxObject(reffriend_results, 'extra.php', caller);
	   updateResults.update(poststr);
data.refemail.value = '';
data.reffname.value = '';
	}
	  if (!fnametest)
	{
	   	document.getElementById(reffname_error).innerHTML = '<font color="red"><strong>Invalid Name:</strong> </font>';
   	} else{
	    document.getElementById(reffname_error).innerHTML = '<sup><font color="red" size="1">*</font></sup>Recipient Name:</div>';
	} 
	 if (!refmailtest)
	{
	   	document.getElementById(refemail_error).innerHTML = '<font color="red"><strong>Invalid Email:</strong> </font>';
   	} else{
	    document.getElementById(refemail_error).innerHTML = '<sup><font color="red" size="1">*</font></sup>Email Address:</div>';
	} 
}

function buildGraph(number, skip_size, date_start, date_end, submit, asin, caller)
    {
var res = 'gr_' + number;
var trace = 'trace_' + number;
document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
        var poststr = "graph_type=line" +
      				  "&skip_size=" + encodeURI(skip_size) +
      				  "&date_start=" + encodeURI(date_start) +
      				  "&date_end=" + encodeURI(date_end) +
      				  "&duration_group=1" +
      				  "&type_group=1" +
      				  "&" + trace + "=" + asin + 
                                  "&number=" + number + 
      				  "&submit=" + encodeURI(submit);

	   var updateResults = new ajaxObject(res, 'build_graph.php', caller);
	   updateResults.update(poststr);
}
 
function findTrace(data, caller)
    {
var res = 'findtrace-result';

var query = encodeURI(data.tracequery.value);
var store = encodeURI(data.store.selectedIndex);

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
        var poststr = "query=" + query +
                            "&store=" + store;

	   var updateResults = new ajaxObject(res, 'asin_return.php', caller);
	   updateResults.update(poststr);
}

function updateCart()
    {

var cart = 'ajax_cart.php';
document.getElementById('shopping_cart').innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
        var poststr = "";

	   var updateResults = new ajaxObject('shopping_cart', cart);
	   updateResults.update(poststr);
}

function addTrace(asin, option, com, uk, jp, de, ca, fr, id, caller)
    {
var res = 'addtrace-result' + id;


var asin = encodeURI(asin);
var duration = encodeURI(option);
var com = encodeURI(com);
var uk = encodeURI(uk);
var jp = encodeURI(jp);
var de = encodeURI(de);
var ca = encodeURI(ca);
var fr = encodeURI(fr);



document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
        var poststr = "asin=" + encodeURI(asin) +
"&duration=" + encodeURI(duration) +
"&com=" + encodeURI(com) +
"&uk=" + encodeURI(uk) +
"&jp=" + encodeURI(jp) +
"&de=" + encodeURI(de) +
"&ca=" + encodeURI(ca) +
"&fr=" + encodeURI(fr);

	   var updateResults = new ajaxObject(res, 'addtrace.php', caller);
	   updateResults.update(poststr);
}


function addCredit(voucher, caller)
    {

var res = 'addcredit-result';

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
var poststr = "voucher=" + encodeURI(voucher);

	   var updateResults = new ajaxObject(res, 'addcredit.php', caller);
	   updateResults.update(poststr);
}


function addOldTrace(duration, asiname, id, caller)
    {

var res = 'addoldtrace-result' + id;

var asin = encodeURI(asin);
var duration = encodeURI(duration);

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
var poststr = "duration=" + encodeURI(duration) +
"&asiname=" + encodeURI(asiname);

	   var updateResults = new ajaxObject(res, 'addoldtrace.php', caller);
	   updateResults.update(poststr);
}

function addOldAlert(duration, asiname, id, caller)
    {

var res = 'addoldalert-result' + id;

var asin = encodeURI(asin);
var duration = encodeURI(duration);

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
var poststr = "duration=" + encodeURI(duration) +
"&asiname=" + encodeURI(asiname);

	   var updateResults = new ajaxObject(res, 'addoldalert.php', caller);
	   updateResults.update(poststr);
}

function eaddOldTrace(duration, asiname, id, caller)
    {

var res = 'eaddoldtrace-result' + id;

var asin = encodeURI(asin);
var duration = encodeURI(duration);

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
var poststr = "duration=" + encodeURI(duration) +
"&asiname=" + encodeURI(asiname);

	   var updateResults = new ajaxObject(res, 'addoldtrace.php', caller);
	   updateResults.update(poststr);
}

function disableButton(obj, disable){
if(disable == 'disable'){
obj.disabled = true;
}else{
obj.disabled = false;
}
} 

function autoRenew(prodsite, onoff, model, id, caller)
    {

var res = 'autorenew-result_' + model + id;
var empty = 'autonotify-result_' + model + id;

var prodsite = encodeURI(prodsite);
var onoff = encodeURI(onoff);
var model = encodeURI(model);

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
document.getElementById(empty).innerHTML = '';

var poststr = "onoff=" + encodeURI(onoff) + 
"&prodsite=" + encodeURI(prodsite) +
"&model=" + encodeURI(model);

	   var updateResults = new ajaxObject(res, 'autorenew.php', caller);
	   updateResults.update(poststr);
}

function receiveUpdates(newsletter, receive, caller)
    {

var res = 'res-updates';

var newsletter = encodeURI(newsletter);
var receive = encodeURI(receive);

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';

var poststr = "newsletter=" + encodeURI(newsletter) +
"&receive=" + encodeURI(receive);

var updateResults = new ajaxObject(res, 'receiveupdates.php', caller);
	   updateResults.update(poststr);
}

function updateListing(prodsite, onoff, type, caller)
    {

var res = 'res-' + type + '-' + prodsite;

var prodsite = encodeURI(prodsite);
var onoff = encodeURI(onoff);
var  type = encodeURI(type);



document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';


var poststr = "onoff=" + encodeURI(onoff) + 
"&prodsite=" + encodeURI(prodsite) +
"&type=" + encodeURI(type);

	   var updateResults = new ajaxObject(res, 'updatelisting.php', caller);
	   updateResults.update(poststr);
}


function assignAffiliate(affiliate, assign, type, caller)
    {

var res = 'res-' + type;

var prodsite = encodeURI(affiliate);
var onoff = encodeURI(assign);


document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';


var poststr = "affiliate=" + encodeURI(prodsite) +
"&assign=" + encodeURI(onoff);

	   var updateResults = new ajaxObject(res, 'assignaffiliate.php', caller);
	   updateResults.update(poststr);
}

function autoNotify(prodsite, onoff, model, id, caller)
    {

var res = 'autonotify-result_' + model + id;
var empty = 'autorenew-result_' + model + id;

var prodsite = encodeURI(prodsite);
var onoff = encodeURI(onoff);
var model = encodeURI(model);

document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
document.getElementById(empty).innerHTML = '';
var poststr = "notify=" + encodeURI(onoff) + 
"&prodsite=" + encodeURI(prodsite) +
"&model=" + encodeURI(model);

	   var updateResults = new ajaxObject(res, 'autorenew.php', caller);
	   updateResults.update(poststr);
}


function ajaxObject(layer, url, caller) {                                    
   if(caller){
disableButton(caller, 'disable');
}
var that=this;                                                    
   var updating = false;                                            
   this.callback = function() {}  
                                
  
   var LayerID = document.getElementById(layer);  
              
   this.update = function(passData) {                                
      if (updating==true) { return false; }                          
      updating=true;                                                 
      var AJAX = null;                                               
      if (window.XMLHttpRequest) {                                   
         AJAX=new XMLHttpRequest();                                  
      } else {                                                       
         AJAX=new ActiveXObject("Microsoft.XMLHTTP");                
      }                                                              
      if (AJAX==null) {                                              
         alert("Your browser doesn't support AJAX.");                
         return false                                                
      } else {
       
         AJAX.onreadystatechange = function() {                      
            if (AJAX.readyState==4 || AJAX.readyState=="complete") { 
if(caller){
disableButton(caller, 'enable');
}
               LayerID.innerHTML=AJAX.responseText;                  
               delete AJAX;                                          
               updating=false;                                       
               that.callback();    
                                  
            }                                                        
         }                                                           
         var timestamp = new Date();                                 
         var uri=passData+'&timestamp='+(timestamp*1);   
         AJAX.open("POST", url, true);
		 AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			AJAX.setRequestHeader("Content-length", uri.length);
			AJAX.setRequestHeader("Connection", "close");                                
         AJAX.send(uri);                                            
         return true;                                                
      }                                                              
   }
} 
