function popupWnd(url, width, height){
if(isNaN(width)) width = 300;
if(isNaN(height)) height = 600;
	window.open(url, "_blank", "width=" + width + ",height=" + height + ",directories=no,left=100,top=100,location=no,menubar=no,resizable=no,status=no,toolbar=no,scrollbars=yes" );
}

function checkEmail(mail) {
	var myRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return myRegExp.test(mail);
}
function checkzip(zip) {
 var regexp=/[^\d\s\w]/g;
 return (!regexp.test(zip))&&(zip.length>0)&&(zip.length<=10);
}

function checkCardCode( code, cardType ) {
	var cardType = cardType.toLowerCase();
	var reCardCode = /^\d{3}$/
	if ( cardType == "american express" ){
		reCardCode = /^\d{4}$/
	}
	return reCardCode.test( code );
}

function checkCardNumber( cardNumber, cardType ){
var cardType = cardType.toLowerCase();

if ( cardType == "visa" || cardType == "mastercard" || cardType == "american express" || cardType == "discover" ){
	var reCard ; 
	switch( cardType ){
		case "visa" : reCard = /^4\d{12,15}$/ ; break;
		case "mastercard" : reCard = /^5\d{15}$/ ; break;
		case "american express" : reCard = /^3[47]{1}\d{13}$/ ; break;
		case "discover" : reCard = /^6011\d{12}$/  ; break;
		default : break ; 
	}
	if ( reCard.test(cardNumber) ){
		return true; 
	}
}
return false; 

}

function validatePaymentForm( form ){
	var strError = "";
	with (form){
		if ( first_name.value == "" ) strError += "First Name\n";
		if ( last_name.value == "" ) strError += "Last Name\n";
		if ( card_type.value == "" ) strError += "Card Type\n";
		if ( !checkCardNumber(card_number.value, card_type.value)) strError += "Card Number\n";
		if ( !checkCardCode(card_code.value, card_type.value)) strError += "Card Code\n";
		if ( card_expires_month.value == "" ) strError += "Card Expires Month\n";
		if ( card_expires_year.value == "" ) strError += "Card Expires Year\n";
		if ( !checkEmail(email.value)) strError += "Email\n";
		if ( address.value == "" ) strError += "Address\n";
		if ( city.value == "" ) strError += "City\n";
		if ( state.value == "" ) strError += "State\n";
		if ( ! checkzip(zip.value) ) strError += "Zip\n";
		if ( country.value == "" ) strError += "Country\n";
	}

	if (strError > "") {
		alert("Please check required fields:\n" + strError);
		return false;
	} else {
		return true;
	}
	return false;
}


function SIP(obj, _w, _h) {
  /////////////// this is the correct function is proportional to change size
  var tmpImg = new Image();
  tmpImg.src = obj.src;
  //alert(tmpImg.width)
  if (_w/tmpImg.width > _h/tmpImg.height) {
  	if (tmpImg.width > _w) {
      obj.height = tmpImg.height*(_w/tmpImg.width);
      obj.width = _w;
    }
    if (tmpImg.height > _h) {
		  obj.width = tmpImg.width*(_h/tmpImg.height);
		  obj.height = _h;
    }
	} else {
    if (tmpImg.height > _h) {
		  obj.width = tmpImg.width*(_h/tmpImg.height);
		  obj.height = _h;
    }
  	if (tmpImg.width > _w) {
      obj.height = tmpImg.height*(_w/tmpImg.width);
      obj.width = _w;
    }
  }
}


function HTTPRequest(url, params)
{
    var httpR = false;
    if(window.XMLHttpRequest && !(window.ActiveXObject)) 
    {
        try { httpR = new XMLHttpRequest(); } catch(e) { httpR = false; }
    } else if(window.ActiveXObject) 
    {
        try { httpR = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {    
            try { httpR = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { httpR = false; }
        }
    }
    httpR.open("POST", String(url), false);
    httpR.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    httpR.send( params );
    return String(httpR.responseText);
}

function showLoader( show ){
	var btn = document.getElementById("submit-btn");
	var loader = document.getElementById("load") ; 
	if ( show ){
		btn.disabled = true ; 
		btn.style.display = "none";
		loader.style.display = "block";
	} else {
		btn.disabled = false;
		btn.style.display = "block";
		loader.style.display = "none";
	}
	
}


function validateEmailSubmitForm( form ){
var emptyFields = "";
	with ( form ){
		if (! checkEmail(email.value) ) emptyFields += "Please check empty or not correct Email field\n" ; 
	}
	if ( emptyFields > ""){
		alert(emptyFields) ; 
		return false ; 
	} else {
		return true;
	}
}

function CheckEmptyForm( f ){
	with (f){
		if(user_name.value == "") {
			alert("Please enter your name");
			user_name.focus();
			return false;
		}
		if ( user_email.value.length == 0 ){
			alert("Please enter your email address");
			user_email.focus();
			return false;
		} else 	if( !checkEmail(user_email.value) ) {
			alert("Please enter a valid email address");
			user_email.focus();
			return false;
		}
		if ( friend_emails.value.length == 0  ){
			alert("Please enter email address");
			friend_emails.focus();
			return false ;
		} else {
			var emailsValid = true ; 
			var emails = friend_emails.value.split(",") ; 
			for ( i = 0; i < emails.length; i++ ){
				if ( !checkEmail(emails[i])) {
					emailsValid = false ; 
					break ; 
				}
			}
			if( !emailsValid ) {
				alert("Please enter a valid email address");
				friend_emails.focus();
				return false;
			}
		}

	}
	return true;
}

function setURL() {
	if(document.EmailStory)
		document.EmailStory.ref_url.value = opener.location.href;
}

function sendEmailToFriend( url ){
var f = document.forms['send2FriendsForm'] ; 
	if ( f.onsubmit() ) {
		var params = "";
		for (i=0; i < f.length; i++ ){
			params += f[i].name + "=" + String(f[i].value).replace(/\n/gi,"<br>").replace(/&/gi,"%26").replace(/\+/gi,"%2B").replace(/ /gi,"+") + "&" ; 
		}	
		var res = HTTPRequest(url, params) ; 
		
		if ( res.toUpperCase() == "TRUE" ){
			document.getElementById("popFooter").innerHTML = "<span>Your message has been sent</span>" ; 
			setTimeout("toggle('send2friends')", 2000);			
		}
	} 
	return false;
}

function toggle(id) {
    var element = document.getElementById(id);
    var display = element.style.display;
    element.style.display = (display == 'none' || !display) && 'block' || 'none';
}
function printPage( headerImgSrc ){
	// add print version of header-image to header
	var headerNode = document.getElementById("header");
	var imgNode = document.createElement("img");
	imgNode.id = "img-header" ;
	imgNode.src	= headerImgSrc ; 
	headerNode.appendChild(imgNode);
	
	window.print();
	return false;
}
/* {{ menu functions  */
var mmOpenContainer = null;
var mmOpenMenus = null;
var mmHideMenuTimer = null;

function MM_menuStartTimeout(hideTimeout) {
	mmHideMenuTimer = setTimeout("MM_menuHideMenus()", hideTimeout);	
}

function MM_menuHideMenus() {
	MM_menuResetTimeout();
	if(mmOpenContainer) {
		var c = document.getElementById(mmOpenContainer);
		c.style.visibility = "inherit";
		mmOpenContainer = null;
	}
	if( mmOpenMenus ) {
		for(var i in mmOpenMenus) {
			var m = document.getElementById(mmOpenMenus[i]);
			m.style.visibility = "hidden";			
		}
		mmOpenMenus = null;
	}
}

function MM_menuHideSubmenus(menuName) {
	if( mmOpenMenus ) {
		var h = false;
		var c = 0;
		for(var i in mmOpenMenus) {
			if( h ) {
				var m = document.getElementById(mmOpenMenus[i]);
				m.style.visibility = "hidden";
			} else if( mmOpenMenus[i] == menuName ) {
				h = true;
			} else {
				c++;
			}
		}
		mmOpenMenus.length = c+1;
	}
}

function MM_menuOverMenuItem(menuName, subMenuSuffix) {
	MM_menuResetTimeout();
	MM_menuHideSubmenus(menuName);
	if( subMenuSuffix ) {
		var subMenuName = "" + menuName + "_" + subMenuSuffix;
		MM_menuShowSubMenu(subMenuName);
	}
}

function MM_menuShowSubMenu(subMenuName) {
	MM_menuResetTimeout();
	var e = document.getElementById(subMenuName);
	e.style.visibility = "inherit";
	if( !mmOpenMenus ) {
		mmOpenMenus = new Array;
	}
	mmOpenMenus[mmOpenMenus.length] = "" + subMenuName;
}

function MM_menuResetTimeout() {
	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
	mmHideMenuTimer = null;
}

function MM_menuShowMenu(containName, menuName, xOffset, yOffset, triggerName) {
	MM_menuHideMenus();
	MM_menuResetTimeout();
	MM_menuShowMenuContainer(containName, xOffset, yOffset, triggerName);
	MM_menuShowSubMenu(menuName);
}

function MM_menuShowMenuContainer(containName, x, y, triggerName) {	
	var c = document.getElementById(containName);
	var s = c.style;
	s.visibility = "inherit";
	
	mmOpenContainer = "" + containName;
}

//Page Related
function MM_openBrWindow(theURL,winName,features) { //v2.0
    window.open(theURL,winName,features);
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
/* }} menu functions  */