function appendDates(obj,params) {
  if (obj) {
    if (obj.href.indexOf('?') > 0) {
      obj.href += '&' + params;
    } else {
      obj.href += '?' + params;
    }
  }
  return true;
}
function showTab(tabId, headerId) {
  var n = 0;
  var ela,elb;
  while ( (ela = document.getElementById('tab_header_' + tabId + '_' + n)) ) {
    elb = document.getElementById('tab_body_' + tabId + '_' + n);
    
    if (n == headerId) {
      // show tab
      if (ela) { ela.className = 'tabcontainer tabheaders tabheader highlight'; }
      if (elb) { elb.className = 'tabcontainer tabbodies tabbody show'; }
    } else {
      // hide tab
      if (ela) { ela.className = 'tabcontainer tabheaders tabheader normal'; }
      if (elb) { elb.className = 'tabcontainer tabbodies tabbody hide'; }
    }
    n++;
  }
}
function showDateOptions(offset, prefDate) {
  var now = new Date();
  
  now.setDate(now.getDate() + offset);
  
  for (var i=0; i<360; i++) {
    var y,m,d;
    var optionDate;
  
    y = now.getFullYear();
    m = now.getMonth() + 1;
    d = now.getDate();
    
    if (m<10) {
      m = '0' + m;
    }
    if (d<10) {
      d = '0'  +d;
    }
    
    optionDate = y + '-' + m + '-' + d;
    
    document.write('<option');
    if (prefDate == optionDate) {
      document.write(' selected');
    }
    document.write(' value="' + optionDate + '">' + optionDate + '</option>');
    now.setDate(now.getDate() + 1);
  }
}

var datePicker = new Array();
var datePickers = 0;

function htDatePicker(form, input) {
	// Methods
	this.getDate = function() {
		if (document.forms[this.form][this.input].value) {
			this.date = document.forms[this.form][this.input].value;
		} else {
		 	var now = new Date();
		 	this.date = now.getFullYear() + '-' + (now.getMonth()+1) + '-' + now.getDate();
		 	this.setStr(this.date);
		 }
	} 
	
	this.setStr = function(str) {
		var parts = str.split('-');
		var y = parts[0];
		var m = parts[1];
		var d = parts[2];
		
		out = y + '-';
		if (m < 10) {
		  out += '0';
		}
		out += (m) + '-';
		if (d < 10) {
		  out += '0';
		}
		out += d;
	
		if (document.forms[this.form][this.input]) {
			document.forms[this.form][this.input].value = out;
		}
	}

	this.open = function() {
		this.getDate();
		this.drawStr(this.date);
		this.element.className = 'htDatePicker show';
		// Hide others
		for (var i = 0 ; i < datePickers; i++) {
			if (i != this.index) {
				datePicker[i].hide();
			}
		}
	}
	this.hide = function() {
		this.element.className = 'htDatePicker hide';
	}
	
	this.drawStr = function(str) {
		var parts = str.split('-');
		var y = parts[0];
		var m = parts[1];
		var d = parts[2];
		
		var selectedDate = new Date();
		selectedDate.setFullYear(y);
		selectedDate.setMonth(m-1);
		selectedDate.setDate(d);
		
		this.draw(selectedDate);
	}
	
	this.draw = function(selectedDate) {
		var i;
		var first = new Date();
		var now = new Date();
		
		first.setFullYear(selectedDate.getFullYear());
		first.setMonth(selectedDate.getMonth());
		first.setDate(1);
		
		var prevMonth = new Date();
		if (first.getMonth() == 0) {
			prevMonth.setFullYear(selectedDate.getFullYear() - 1);
			prevMonth.setMonth(11);
		} else {
			prevMonth.setFullYear(selectedDate.getFullYear());
			prevMonth.setMonth(selectedDate.getMonth() - 1);
		}
		prevMonth.setDate(1);

		var nextMonth = new Date();
		if (first.getMonth() == 11) {
			nextMonth.setFullYear(selectedDate.getFullYear() + 1);
			nextMonth.setMonth(0);
		} else {
			nextMonth.setFullYear(selectedDate.getFullYear());
			nextMonth.setMonth(selectedDate.getMonth() + 1);
		}
		nextMonth.setDate(1);
		
		var parts = this.date.split('-');
		var userYear = parts[0];
		var userMonth = parts[1];
		var userDate = parts[2];
		

		// fill html
		var html = '';
		html += '<table border=0 cellspacing=0 cellpadding=0>';
		html += '<tr>';
		html += '<th><a href="javascript:;;" onclick="datePicker[' + this.index + '].drawStr(\'' + prevMonth.getFullYear() + '-' + (prevMonth.getMonth()+1) + '-' + prevMonth.getDate() + '\');">&laquo;</th>';
		
		html += '<th colspan="5">' + this.months[selectedDate.getMonth()] + ' ' + selectedDate.getFullYear() + '</th>';
		html += '<th><a href="javascript:;;" onclick="datePicker[' + this.index + '].drawStr(\'' + nextMonth.getFullYear() + '-' + (nextMonth.getMonth()+1) + '-' + nextMonth.getDate() + '\');">&raquo;</th>';

		html += '</tr>';
		
		// Days
		html += '</tr>';
		html += '<th>S</th>';
		html += '<th>M</th>';
		html += '<th>T</th>';
		html += '<th>W</th>';
		html += '<th>T</th>';
		html += '<th>F</th>';
		html += '<th>S</th>';
		html += '</tr>';
		
		
		html += '<tr>';
		var x = 0;
		for (i=0; i<first.getDay() ;i++) {
			html += '<td class="empty"></td>';
			x++;
		}
		
		while (first.getMonth() == selectedDate.getMonth()) {
			if (x == 0) {
				html+='<tr>';
			}
			
			
			html += '<td class="date';
			if (userYear == first.getFullYear() && 
			    userMonth == (first.getMonth()+1) && 
			    userDate == first.getDate()) {
			  html += 'selected';
			}
			
			if (first < now) {
			  html += '"><strike>' + first.getDate() + '</strike></td>';
			} else {
			  html += '"><a href="javascript:;;" onclick="datePicker[' + this.index + '].set(\'' + first.getFullYear() + '-' + (first.getMonth()+1) + '-' + first.getDate() + '\');">' + first.getDate() + '</a></td>';
			}
			
			
			first.setTime(first.getTime() + 86400000);
			x++;
			if (x == 7) {
				x=0;
				html+='</tr>';
			}	
		}	
		
		if (x != 0) {
			while (x < 7) {
				html += '<td class="empty"></td>';
				x++;
			}
			html += '</tr>';
		}
		  
			
		
		html += '</table>';
		
		this.element.innerHTML = html;
	}
	
	this.set = function(str) {
		this.setStr(str);
		this.hide();
	}
	
	// properties	
	this.form = form;
	this.input = input;
	this.index = datePickers ++;
	this.element = null;
	this.date = '';
	this.months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
	this.getDate();
	
	
	// add to array
	datePicker[this.index] = this;
	// generate html
	document.write('<div id="htDatePicker' + this.index + '" class="htDatePicker hide"></div><a href="javascript:;;" onclick="datePicker[' + 
	                this.index + '].open();"><img src="/img/cal.gif" width="21" height="17" ALT="Calendar" border="0"></a>');
	                
	// get element
	this.element = document.getElementById('htDatePicker' + this.index);
}
function bookmarkMe(url,title) {
        if (document.all) {
                window.external.AddFavorite(url,title);
        } else {
                var msg = "To bookmark this page press Okay and CTRL+D";
                alert(msg);
        }
}


function showLoading(f) {
  if (f) {
    var el = null;
    
    if (f && f.id) {
      el = document.getElementById(f.id + 'loading');
    } else {
      el = f;
    }
    if (el) {
      el.innerHTML =  el.innerHTML + '<img src="/img/loading.gif" class="loading" alt="">';
    }
  }
  return true;
}

function setusercurrency(value) {
  document.cookie='usercurrency=' + value;
  document.location.reload();
}

function showLargePhoto(ev,url) {
  var el1 = document.getElementById('largephotodiv');
  var el2 = document.getElementById('largephotoimg');

  if (el2) {
    if (el2.src != url) {
      el2.src = url;
    }
    
    if (el1) {  
      var x = 0, y = 0;
      
      if (ev && ev.pageX) {
        x = ev.pageX;
        y = ev.pageY;
      } else {
        x = ev.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
        y = ev.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
      }
      

      el1.style.left = x + 5;
      el1.style.top = y + 5;
      
      el1.style.display = 'block';
    }
  }
}
function hideLargePhoto(ev, url) {
  var el = document.getElementById('largephotodiv');
  if (el) {
    el.style.display = 'none';
  }
}
