/*
  $Id: general.js 1498 2007-03-29 14:04:50Z hpdl $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2005 osCommerce

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License v2 (1991)
  as published by the Free Software Foundation.
*/

function callAJAX(id,type1,formobject){	

	var sUrl = "checkout_ajax.php";
	var callback = {
		success: function(o) {
			cart_content = o.responseText;	
			cart_array = cart_content.split("###");	
			document.getElementById('bagcount').innerHTML = "("+trim(cart_array[0])+")";
			document.getElementById('yourcart').innerHTML =  cart_array[1];
			},
		failure: function(o) {
			alert("AJAX doesn’t work"); //FAILURE
			},
		cache:false
		} 
    if ( type1 == 'update' ) {
		for(i=0;i < formobject.length; i++) {
			if(formobject[i].selected) {
				quantity = formobject[i].value;
			}
		}
		var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, "sj_dynamic_id="+id+"&type="+type1+"&sj_dynamic_quan="+quantity+"&diamond_product_type=3");
	} else if (type1 == 'promocode' ) {
		var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, "promocode="+id+"&type="+type1);	
	}
	  else {
		var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, id+"="+id+"&type="+type1);
	}
}

function checkTerms() {
	
	//if (!document.checkout_confirmation.conditions.checked)
	if (1 == 2)
	{
		alert("Please Accept Terms and Conditions!") 
		return false;
	} else
	{
		//alert(document.checkout_confirmation.action);return false;
		//document.checkout_confirmation.action = "checkout.php?process&sid=345840e7bb9c685f1458db1dcdc084df";		
		if(confirm("Are you sure to continue?")) {
			document.checkout_confirmation.action = "checkout.php?process";
			document.checkout_confirmation.submit();
		}
	}
}
function updateDatePullDownMenu(objForm, fieldName) {
  var pdmDays = fieldName + "_days";
  var pdmMonths = fieldName + "_months";
  var pdmYears = fieldName + "_years";

  var selyr = objForm[pdmYears].options[objForm[pdmYears].selectedIndex].text;
  var selmn = objForm[pdmMonths].options[objForm[pdmMonths].selectedIndex].value;
  var selday = objForm[pdmDays].options[objForm[pdmDays].selectedIndex].text;

  selyr = (selyr == "")? objForm[pdmYears].options[1].text : selyr;
  selmn = (selmn == "")? objForm[pdmMonths].options[1].value : selmn;

  time = new Date(selyr, selmn, 1);

  time = new Date(time - 86400000);
  
  var selectedDay = (selday == "" )? objForm[pdmDays].options[1].text : selday;
  var daysInMonth = time.getDate();
  

  for (var i=1; i<=objForm[pdmDays].length; i++) {
	objForm[pdmDays].options[1] = null;
	  }

  for (var i=1; i<=daysInMonth; i++) {
    objForm[pdmDays].options[i] = new Option(i);
  }
  if (selday == "") {
    objForm[pdmDays].options[selectedDay-1].selected = true;
  }else if (selectedDay <= daysInMonth) {
    objForm[pdmDays].options[selectedDay].selected = true;
  } else {
    objForm[pdmDays].options[daysInMonth].selected = true;
  }
}

function rowOverEffect(object) {
  if (object.className == 'moduleRow') object.className = 'moduleRowOver';
}

function rowOutEffect(object) {
  if (object.className == 'moduleRowOver') object.className = 'moduleRow';
}

function checkBox(object) {
  document.account_newsletter.elements[object].checked = !document.account_newsletter.elements[object].checked;
}

function popupWindow(url, name, params) {
  window.open(url, name, params).focus();
}
//Hide Menu 
function hideon(val)
{
	if(document.getElementById('subopen')){
document.getElementById('subopen').style.display=val;}
}


// Trim Function
String.prototype.trim = function() 
 {
	a = this.replace(/^\s+/, '');
	return a.replace(/\s+$/, '');
 };

// Function for pop up to print page - diamond details
function printContent() {
	window.open("print.php","diamond_info",'height=500,width=800, toolbar=no, menubar=no, scrollbars=1, resizable=0, location=0, status=no');
}

//Display email content and hide on selcton of the link
function displayMail()
{
	document.getElementById("msgarea").innerHTML="";
	if(document.getElementById('mail_content').style.display == 'none'){
		document.getElementById('mail_content').style.display = 'block';}
	else{
		document.getElementById('mail_content').style.display = 'none';}
}

// Function to validate mail a friend
function val_mailcontent(form_handle)
{ 
	// Regular expression for email.
	var reg = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	
	if(document.getElementById("txt_mail").value == '' || !reg.test(document.getElementById("txt_mail").value)){
		alert("Enter a valid email id");
		return false;
	}
	else if(document.getElementById("txt_name").value == ''){
		alert("Enter your name");
		return false;
	}
	else if(document.getElementById("txt_ur_mail").value == '' || !reg.test(document.getElementById("txt_ur_mail").value)){
		alert("Enter a valid email id for Your mail id");
		return false;
	}
	
	//form_handle.action = '';
	//form_handle.submit();
	emailafriend();
	return true;
}

function val_contact(form_handle)
{
	// Regular expression for email.
	var reg = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;

	if(document.getElementById("txt_cname").value == ''){
		alert("Enter your name");
		return false;
	}
	else if(document.getElementById("txt_cmail").value == '' || !reg.test(document.getElementById("txt_cmail").value)){
		alert("Enter a valid email address");
		return false;
	}
	form_handle.action = '';
	form_handle.submit();
	
	return true;
}

//Validation for new/edit address book entry
function address_book_check()
{
//var phonereg= /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
//phonereg = /\(?\d{3}\)?([-\/\.])\d{3}\1\d{4}/;
//	var phonereg = /^[\d|-]{5,15}$/;
	var phonereg = /^[0]{0,1}\d{11}$/;
	var phoneregnum = /^[0-9]*$/;
	var postcodereg = /^\d{6}$/;
	var cityreg = /^[A-Z]*$/i;
	var message = "Error: \n";
	var error = 0;

	if(document.getElementById('firstname').value.trim() == '')
	{	
		error = 1;
		message = message + "Please enter your First name.\n";
	}
	if(document.getElementById('lastname').value.trim() == '')
	{	
		error = 1;		
		message = message + "Please enter your Last name.\n";
	}
	if(document.getElementById('street_address').value.trim() == '')
	{	
		error = 1;
		message = message + "Please enter your street address.\n";
	}
//	if(document.getElementById('postcode').value.trim() != ''){
		if(!(postcodereg).test(document.getElementById('postcode').value))
		{
			error = 1;
			message = message + "Please enter a valid 6 digit postal code.\n";
		}
	//}

	if(document.getElementById('city').value.trim() == '')
	{	
		error = 1;
		message = message + "Please enter your city.\n";
	}
	if(!(cityreg).test(document.getElementById('city').value))
	{
		error = 1;
		message = message + "Please enter valid city name without space.\n";
	}

	if(!(phonereg).test(document.getElementById('telephone').value))
	{
		error = 1;
		message = message + "Please enter 11 digits for Telephone number.\n";
	}

	if(!(phoneregnum).test(document.getElementById('telephone').value))
	{
		error = 1;
		message = message + "Enter numerics only (0-9) for Telephone number.\n";
	}

	if(error == 1)
	{
		alert(message);
		return false;
	}
/*	if(document.getElementById('country').selectedIndex == 0)
	{	alert("Please enter your Country");
		return false;
	}*/
	return true;
}

function CommaFormatted(amount)
{
	var currencypos=3;
	var delimiter = ","; // replace comma if desired
	if (amount.indexOf(".")!=-1) 
	{
		var a = amount.split('.',2)
		var d = a[1];
		var i = parseInt(a[0]);
	}
	else
	{
		var d = "";
		var i = parseInt(amount);
	}
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 1)
	{
		var nn = n.substr(n.length-currencypos);
		a.unshift(nn);
		n = n.substr(0,n.length-currencypos);
		currencypos=2;
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

function changeico(hand, stat)
{
	if (stat==1)
	{
		hand.src = hand.src.replace("grey-icon", "red-icon");
	}
	else
	{
		hand.src = hand.src.replace("red-icon", "grey-icon");
	}
}

function displayMsg(div_id,msg_id)
{			
	if((document.getElementById(div_id).style.display == 'none') || (document.getElementById(div_id).style.visibility == 'hidden')){			
		document.getElementById(div_id).style.display = 'block';	
		document.getElementById(msg_id).value = '';
	}
	else {		
		document.getElementById(div_id).style.display = 'none';
	}
}

function validation_vendor() {
	if ( document.getElementById("username").value == '' ) {
		alert("Please enter username!");
		document.getElementById("username").focus();

		return false;
	}
	if ( document.getElementById('password').value == '' ) {
		alert("Please enter password!");
		document.getElementById('password').focus();
		return false;
	}
}

function checkofnbx()
{
    var myRegxp = /^[a-zA-Z0-9_.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/i;
    if (!myRegxp.test(document.getElementById('newsemail').value))
	{
		alert("Please Enter valid email id.");
		document.getElementById('newsemail').focus();
		return false;
	}
}

/* Menu Js Starts */ 
var temp;
function highlightMenu(id,value) {
	temp = document.getElementById(id).className;
	document.getElementById(id).className = value;
}
function normalMenu(id,value) {
	if (temp != value) {
		document.getElementById(id).className = temp;
	}
	else {
		document.getElementById(id).className = value;
	}
}

var cssdropdown={
disappeardelay: 100, //set delay in miliseconds before menu disappears onmouseout
disablemenuclick: true, //when user clicks on a menu item with a drop down menu, disable menu item's link?
enableswipe: 0, //enable swipe effect? 1 for yes, 0 for no
enableiframeshim: 1, //enable "iframe shim" technique to get drop down menus to correctly appear on top of controls such as form objects in IE5.5/IE6? 1 for yes, 0 for no

//No need to edit beyond here////////////////////////
dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, swipetimer: undefined, bottomclip:0,

getposOffset:function(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;
},

swipeeffect:function(){
if (this.bottomclip<parseInt(this.dropmenuobj.offsetHeight)){
this.bottomclip+=10+(this.bottomclip/10) //unclip drop down menu visibility gradually
this.dropmenuobj.style.clip="rect(0 auto "+this.bottomclip+"px 0)"
}
else
return
this.swipetimer=setTimeout("cssdropdown.swipeeffect()", 10)
},

showhide:function(obj, e){
if (this.ie || this.firefox)
this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover"){
if (this.enableswipe==1){
if (typeof this.swipetimer!="undefined")
clearTimeout(this.swipetimer)
obj.clip="rect(0 auto 0 0)" //hide menu via clipping
this.bottomclip=0
this.swipeeffect()
}
obj.visibility="visible"
}
else if (e.type=="click")
obj.visibility="hidden"
},

iecompattest:function(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
},

clearbrowseredge:function(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=this.ie && !window.opera? this.iecompattest().scrollLeft+this.iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)  //move menu to the left?
edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=this.ie && !window.opera? this.iecompattest().scrollTop : window.pageYOffset
var windowedge=this.ie && !window.opera? this.iecompattest().scrollTop+this.iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up?
edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either?
edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
},

dropit:function(obj, e, dropmenuID){
if (this.dropmenuobj!=null) //hide previous menu
this.dropmenuobj.style.visibility="hidden" //hide menu
this.clearhidemenu()
if (this.ie||this.firefox){
obj.onmouseout=function(){cssdropdown.delayhidemenu()}
obj.onclick=function(){return !cssdropdown.disablemenuclick} //disable main menu item link onclick?
this.dropmenuobj=document.getElementById(dropmenuID)
this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu()}
this.dropmenuobj.onmouseout=function(e){cssdropdown.dynamichide(e)}
this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()}
this.showhide(this.dropmenuobj.style, e)
this.dropmenuobj.x=this.getposOffset(obj, "left")
this.dropmenuobj.y=this.getposOffset(obj, "top")
this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")+"px"
this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"
this.positionshim() //call iframe shim function
}
},

positionshim:function(){ //display iframe shim function
if (this.enableiframeshim && typeof this.shimobject!="undefined"){
if (this.dropmenuobj.style.visibility=="visible"){
this.shimobject.style.width=this.dropmenuobj.offsetWidth+"px"
this.shimobject.style.height=this.dropmenuobj.offsetHeight+"px"
this.shimobject.style.left=this.dropmenuobj.style.left;
this.shimobject.style.top=this.dropmenuobj.style.top;
}
this.shimobject.style.display=(this.dropmenuobj.style.visibility=="visible")? "block" : "none"
}
},

hideshim:function(){
if (this.enableiframeshim && typeof this.shimobject!="undefined")
this.shimobject.style.display='none'
},

contains_firefox:function(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
},

dynamichide:function(e){
var evtobj=window.event? window.event : e
if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement))
this.delayhidemenu()
else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.contains_firefox(evtobj.currentTarget, evtobj.relatedTarget))
this.delayhidemenu()
},

delayhidemenu:function(){
this.delayhide=setTimeout("cssdropdown.dropmenuobj.style.visibility='hidden'; cssdropdown.hideshim()",this.disappeardelay) //hide menu
},

clearhidemenu:function(){
if (this.delayhide!="undefined")
clearTimeout(this.delayhide)
},

startchrome:function(){
for (var ids=0; ids<arguments.length; ids++){
var menuitems=document.getElementById(arguments[ids]).getElementsByTagName("a")
for (var i=0; i<menuitems.length; i++){
if (menuitems[i].getAttribute("rel")){
var relvalue=menuitems[i].getAttribute("rel")
menuitems[i].onmouseover=function(e){
var event=typeof e!="undefined"? e : window.event
cssdropdown.dropit(this,event,this.getAttribute("rel"))
}
}
}
}
if (window.createPopup && !window.XmlHttpRequest){ //if IE5.5 to IE6, create iframe for iframe shim technique
document.write('<IFRAME id="iframeshim"  src="" style="display: none; left: 0; top: 0; z-index: 90; position: absolute; filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)" frameBorder="0" scrolling="no"></IFRAME>')
this.shimobject=document.getElementById("iframeshim") //reference iframe object
}
}
}
/* Menu Js Ends  */ 
