// Flash Fix JS
var bo_ns_id = 0;

function goback()
{
	history.go(-1);
}

function startIeFix(){
  if(isIE()){
    document.write('<div style="display: none;" id="bo_ns_id_' + bo_ns_id + '">');
  }
}

function endIeFix(){
  if(isIE()){
    document.write('</div>');
    var theObject = document.getElementById("bo_ns_id_" + bo_ns_id++);
    if(theObject.firstChild.data){
      theObject.firstChild.removeAttribute('data');
    }
    var theParams = theObject.getElementsByTagName("param");
    var theParamsLength = theParams.length;
    for (var j = 0; j < theParamsLength; j++) {
      if(theParams[j].name.toLowerCase() == 'flashvars'){
        var theFlashVars = theParams[j].value;
      }
    }
    var theInnnerHTML = theObject.innerHTML;
    var re = /<param name="FlashVars" value="">/ig;
    theInnnerHTML = theInnnerHTML.replace(re, "<param name='FlashVars' value='" + theFlashVars + "'>");
    theObject.outerHTML = theInnnerHTML;
  }
}

function isIE(){
  var strBrwsr = navigator.userAgent.toLowerCase();
  if(strBrwsr.indexOf("msie") > -1 && strBrwsr.indexOf("mac") < 0){
    return true;
  }else{
    return false;
  }
}
// /Flash Fix JS

function _checkcreditcard(object_value, required)
{
	//trim whitespace before we validate
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');

    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }

	if (object_value.length == 0)
		return true;
	var white_space = " -";
	var creditcard_string="";
	var check_char;

	
	for (var i = 0; i < object_value.length; i++)
	{
		check_char = white_space.indexOf(object_value.charAt(i));
		if (check_char < 0)
			creditcard_string += object_value.substring(i, (i + 1));
	}	

	if (creditcard_string.length < 13 || creditcard_string.length > 19)
		return false;

	if (creditcard_string.charAt(0) == "+")
		return false;

	if (!_checkinteger(creditcard_string))
		return false;

	var doubledigit = creditcard_string.length % 2 == 1 ? false : true;
	var checkdigit = 0;
	var tempdigit;

	for (var i = 0; i < creditcard_string.length; i++)
	{
		tempdigit = eval(creditcard_string.charAt(i));

		if (doubledigit)
		{
			tempdigit *= 2;
			checkdigit += (tempdigit % 10);

			if ((tempdigit / 10) >= 1.0)
				checkdigit++;

			doubledigit = false;
		}
		else
		{
			checkdigit += tempdigit;
			doubledigit = true;
		}
	}	

	return (checkdigit % 10) == 0 ? true : false;
}

function _checkinteger(object_value, required)
{
	//trim whitespace before we validate
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');
	//remove numeric noise
	object_value = object_value.replace(/[$ŁĄ€,~+]?/g, '');


    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }


	var decimal_format = ".";
	var check_char = object_value.indexOf(decimal_format);

	if (check_char == -1)
		return _checknumber(object_value);
	else
		return false;
}



function _checknumber(object_value, required)
{
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	//trim whitespace before we validate
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');
	//remove numeric noise
	object_value = object_value.replace(/[$ŁĄ€,~+]?/g, '');


    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }

	check_char = start_format.indexOf(object_value.charAt(0));

	if (check_char == 1)
		decimal = true;
	else if (check_char < 1)
		return false;

	for (var i = 1; i < object_value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i));
		if (check_char < 0)
			return false;
		else if (check_char == 1)
		{
			if (decimal)
				return false;
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)	
				trailing_blank = true;
		}
		else if (trailing_blank)
			return false;
		else
			digits = true;
	}	

	return true
}


function easy_CheckRequired(form,Action,formaction,formtarget,req1,req2,req3,req4,req5,req6,req7,req8,req9,req10,req11,req12,req13,req14,req15,req16,req17,req18,req19,req20,req21,req22,req23,req24,req25,req26,req27,req28,req29,req30,req31,req32,req33,req34,req35,req36,req37,req38,req39,req40){
	
	if (formtarget && formtarget!='')
	{
		document.forms[form].target=formtarget;				
	}
	if (formaction && formaction!='')
	{
		document.forms[form].action=formaction;						
	}
	
	var reqFieldsCaption="";
	var noOfParams=40;
	var i=0;
	var r=0;	
	var noOfRequired=0;
	
	// Pre-count required
	while (i < noOfParams)
    {
      i++;
	  if (eval("req"+i))
	  {		  
		  reqField=eval("req"+i);
		  if (eval("document.forms[form]."+reqField+".value")=='') 
		  {
			noOfRequired++;			
		  }
	  }   
    }
	
	var i=0;	
	
	while (i < noOfParams)
    {
      i++;
	  if (eval("req"+i))
	  {		  	  	 
		  reqField=eval("req"+i);
		  if (eval("document.forms[form]."+reqField+".value")=='')
		  {			  	
			r++;
			reqFieldCaption=eval("document.forms[form]."+reqField+"_caption.value");	
			if (r==noOfRequired && noOfRequired!=1) reqFieldsCaption=reqFieldsCaption+' and ';		
		  	reqFieldsCaption=reqFieldsCaption+' \"'+reqFieldCaption.toUpperCase()+'\"';			
		  }		 
		  if (eval("req"+i) && i<noOfRequired-1 && r>0) reqFieldsCaption=reqFieldsCaption+", ";
	  }   
    }
	
	if (reqFieldsCaption=='')
	{		
		now = new Date;
	
		thisMonth=now.getMonth()+1;
		thisYear=now.getYear();
	
		if (document.forms[form].cc_no && !_checkcreditcard(document.forms[form].cc_no.value, true))
		{
			alert("Credit Card Number is Invalid. Please re-type.");		
		}	
		else if (document.forms[form].cc_month && document.forms[form].cc_year && (document.forms[form].cc_year.value == thisYear && document.forms[form].cc_month.value < thisMonth))
		{
			alert("Credit Card Expiration Date is Invalid. Please check month and try again.");		
		}	
		else if (
				    (document.forms[form].password && document.forms[form].password_confirm)
				&& !(document.forms[form].password.value == document.forms[form].password_confirm.value)
		   )
		{				
			alert("The two passwords you have entered do not match. Please try again.");			
		}
		else if (document.forms[form].email_isemail && !isValidEmail(document.forms[form].email.value,0))
		{			
			alert("The email address you have entered is invalid. Please try again.");	
		}
		else if (document.forms[form].customer_email_isemail && !isValidEmail(document.forms[form].customer_email.value,0))
		{			
			alert("The email address you have entered is invalid. Please try again.");	
		}
		else
		{			
			document.forms[form].status.value=Action;					
			document.forms[form].submit();		
		}
	}		
	else
	{
		if (r>1) 
		{
			plural="s";
			isAre="are";	
		}
		else
		{
			plural="";
			isAre="is";	
		}
		alert("Field"+plural+' '+reqFieldsCaption+" "+isAre+" required.\nAll required fields are marked with a red asterisk [*].\nPlease make sure that you have completed all required fields.");			
	}	
}

function allValidChars(email) {
  var parsed = true;			
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";			
  for (var i=0; i < email.length; i++) {	
    var letter = email.charAt(i).toLowerCase();			
    if (validchars.indexOf(letter) != -1)			
      continue;			
    parsed = false;			
    break;			
  }			
  return parsed;			
}
		 

function trim(s) {
	s = s.replace(/(^\s*)|(\s*$)/gi,"");
	s = s.replace(/[ ]{2,}/gi," ");
	s = s.replace(/\n /,"\n");
	return s;
}


function isValidEmail(email, required) {
	
	email=trim(email);
	
    if (required==undefined) {   // if not specified, assume it's required			
        required=true;			
    }			
    if (email==null) {			
        if (required) {			
            return false;			
        }			
        return true;			
    }			
    if (email.length==0) {  			
        if (required) {			
            return false;			
        }			
        return true;			
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid			
        return false;			
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character			
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @			
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character			
        return false;
    }
    return true;			
}

// OPENS A POPUP RESIZED ACCORDING TO IMAGE SIZE
function imagePopup(path)
{
  if (path)
  {
	  TopDistance = (screen.height/2)-200;
	  LeftDistance = (screen.width/2)-20;
	
	  HTML = "<html><style>body{margin:0px 0px 0px 0px}</style><body onBlur='top.close()'><img src='"+path+"' border=0 name=load_image onLoad='window.resizeTo(document.load_image.width+10,document.load_image.height+30)'></body></html>";
	  popupImage = window.open('','_blank','left='+LeftDistance+',top='+TopDistance+',width=0,height=0,toolbar=no,scrollbars=no');
	  popupImage.document.open();
	  popupImage.document.write(HTML);
	  popupImage.document.close();
  }
  else
  {
  	alert("No Image Defined.");
  }
}

function doNothing() {}


function submitForm(formname)
{
  document.forms[formname].submit();
}
