var gotNS = (navigator.appName == 'Netscape') ? true : false;
var ns=document.layers;
var ie=document.all;
var ns6=document.getElementById&&!document.all;
var flag=0;
var ns6=document.getElementById&&!document.all;
var flag=0;

function showselect(id){

	SDDM_deactivate(id);

}


function hideselect(id){

	SDDM_activate(id);

}

if (document.images) { 
 
               mysffon = new Image;
               mysffon.src = "/2007/images/header/nav/mysff2.jpg";
                              
               mysffoff = new Image;
               mysffoff.src = "/2007/images/header/nav/mysff.jpg";
             
                       
}

function img_act(imgName) {
if (document.images) {
imgOn = eval(imgName + "on.src");
document [imgName].src = imgOn;
}
}
function img_inact(imgName) {
if (document.images) {
imgOff = eval(imgName + "off.src");
document [imgName].src = imgOff;
}
}

function popWin( url, name, width, height, scroller ) { 

var outStr = 'height=' + height + ',width=' + width; 

	if (scroller == true) {
		 outStr = outStr + ',menubar=no,toolbar=no,location=no,directories=no,status=yes,scrollbars=1,resizable=no';
	 } else {
		 outStr = outStr + ',menubar=no,toolbar=no,location=no,directories=no,status=yes,scrollbars=no,resizable=no';
	 } 

window.open(url, name, outStr);

}




function search(form)
{
    if (flag == 1)
       return false;

if (form.skeyword.value == '' || form.skeyword.value == 'Search'){
alert("Please Enter A Search Term");
form.skeyword.focus();
form.skeyword.select();
return false;
}

flag = 1;
return true;
}


function enewsletter(form)
{
    if (flag == 1)
       return false;

	Ctrl = form.user;
	if (Ctrl.value =="") {
		validatePromt(Ctrl,"Please Enter A Username");
		return (false);
	}

if (! form.name.value){
alert("Please Enter Your Name");
form.name.focus();
form.name.select();
return false;
}

if (! form.email.value){
alert("Please Enter Your Email Address");
form.email.focus();
form.email.select();
return false;
}

if (! (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(form.email.value))){
alert("Invalid E-mail Address")
form.email.focus();
form.email.select();
return false;
}

flag = 1;
return true;
}


function checklogin(form)
{
    if (flag == 1)
       return false;

if (! form.email.value){
alert("Please Enter Your Email Address");
form.email.focus();
form.email.select();
return false;
}

if (! (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(form.email.value))){
alert("Invalid E-mail Address")
form.email.focus();
form.email.select();
return false;
}

if (! form.pass.value){
alert("Please Enter Your Password");
form.pass.focus();
form.pass.select();
return false;
}

flag = 1;
return true;
}

function validatePromt(Ctrl, PromtStr) {
	alert (PromtStr);
	Ctrl.focus();
	return(true);
}

function checksignup(form)
{
    if (flag == 1)
       return false;

if (! form.pass.value){
alert("Please Enter A Password");
form.pass.focus();
form.pass.select();
return false;
}


 str = form.pass.value
 var validChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-';
 if ((str.length < 3)) {
 alert("Your password must be at least 3 characters.")
 form.pass.focus();
 form.pass.select();
 return false;
 }
 for (var j = 0; j < str.length; j++){
   if(validChars.indexOf(str.charAt(j)) == -1) {
 alert("Your password can only contain letters and numbers.")
 form.pass.focus();
 form.pass.select();
 return false;
 }
 }
	Ctrl = form.pass2;
	if (Ctrl.value =="") {
		validatePromt(Ctrl,"Please Confirm Your Password");
		return false;
	}
	if (form.pass.value != form.pass2.value) {
		validatePromt(Ctrl,"Your passwords do not match");
 		form.pass2.focus();
 		form.pass2.select();
		return false;
	}

if (! form.fname.value){
alert("Please Enter Your First Name");
form.fname.focus();
form.fname.select();
return false;
}

if (! form.lname.value){
alert("Please Enter Your Last Name");
form.lname.focus();
form.lname.select();
return false;
}



if (! form.address1.value){
alert("Please Enter Your Address");
form.address1.focus();
form.address1.select();
return false;
}

if (! form.city.value){
alert("Please Enter Your City");
form.city.focus();
form.city.select();
return false;
}


if (! form.zip.value){
alert("Please Enter Your ZipCode");
form.zip.focus();
form.zip.select();
return false;
}


if (! form.email.value){
alert("Please Enter Your Email Address");
form.email.focus();
form.email.select();
return false;
}

if (! (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(form.email.value))){
alert("Invalid E-mail Address")
form.email.focus();
form.email.select();
return false;
}

    var modules_output = '';

    for (var i=0;i < 14;i++) {
         if (form.interests[i].checked) {
		if (modules_output != ''){
             modules_output += ', '+form.interests[i].value;
		} else {
             modules_output += form.interests[i].value;
		}
         }
     }

   form.interestsopp.value = modules_output;

flag = 1;
return true;
}

function Mod10(ccNumb) {  // v2.0
var valid = "0123456789"  // Valid digits in a credit card number
var len = ccNumb.length;  // The length of the submitted cc number
var iCCN = parseInt(ccNumb);  // integer of ccNumb
var sCCN = ccNumb.toString();  // string of ccNumb
sCCN = sCCN.replace (/^\s+|\s+$/g,'');  // strip spaces
var iTotal = 0;  // integer total set at zero
var bNum = true;  // by default assume it is a number
var bResult = false;  // by default assume it is NOT a valid cc
var temp;  // temp variable for parsing string
var calc;  // used for calculation of each digit

// Determine if the ccNumb is in fact all numbers
for (var j=0; j<len; j++) {
  temp = "" + sCCN.substring(j, j+1);
  if (valid.indexOf(temp) == "-1"){bNum = false;}
}

// if it is NOT a number, you can either alert to the fact, or just pass a failure
if(!bNum){
  /*alert("Not a Number");*/bResult = false;
}

// Determine if it is the proper length 
if((len == 0)&&(bResult)){  // nothing, field is blank AND passed above # check
  bResult = false;
} else{  // ccNumb is a number and the proper length - let's see if it is a valid card number
  if(len >= 15){  // 15 or 16 for Amex or V/MC
    for(var i=len;i>0;i--){  // LOOP throught the digits of the card
      calc = parseInt(iCCN) % 10;  // right most digit
      calc = parseInt(calc);  // assure it is an integer
      iTotal += calc;  // running total of the card number as we loop - Do Nothing to first digit
      i--;  // decrement the count - move to the next digit in the card
      iCCN = iCCN / 10;                               // subtracts right most digit from ccNumb
      calc = parseInt(iCCN) % 10 ;    // NEXT right most digit
      calc = calc *2;                                 // multiply the digit by two
      // Instead of some screwy method of converting 16 to a string and then parsing 1 and 6 and then adding them to make 7,
      // I use a simple switch statement to change the value of calc2 to 7 if 16 is the multiple.
      switch(calc){
        case 10: calc = 1; break;       //5*2=10 & 1+0 = 1
        case 12: calc = 3; break;       //6*2=12 & 1+2 = 3
        case 14: calc = 5; break;       //7*2=14 & 1+4 = 5
        case 16: calc = 7; break;       //8*2=16 & 1+6 = 7
        case 18: calc = 9; break;       //9*2=18 & 1+8 = 9
        default: calc = calc;           //4*2= 8 &   8 = 8  -same for all lower numbers
      }                                               
    iCCN = iCCN / 10;  // subtracts right most digit from ccNum
    iTotal += calc;  // running total of the card number as we loop
  }  // END OF LOOP
  if ((iTotal%10)==0){  // check to see if the sum Mod 10 is zero
    bResult = true;  // This IS (or could be) a valid credit card number.
  } else {
    bResult = false;  // This could NOT be a valid credit card number
    }
  }
}

  return bResult; // Return the results
}

function checkcheckout(form)
{
    if (flag == 1)
       return false;



if (! form.fname.value){
alert("Please Enter Your First Name");
form.fname.focus();
form.fname.select();
return false;
}

if (! form.lname.value){
alert("Please Enter Your Last Name");
form.lname.focus();
form.lname.select();
return false;
}



if (! form.address1.value){
alert("Please Enter Your Address");
form.address1.focus();
form.address1.select();
return false;
}

if (! form.city.value){
alert("Please Enter Your City");
form.city.focus();
form.city.select();
return false;
}


if (! form.zip.value){
alert("Please Enter Your ZipCode");
form.zip.focus();
form.zip.select();
return false;
}

if (! form.phone.value){
alert("Please Enter Your Phone #");
form.phone.focus();
form.phone.select();
return false;
}


if (! form.email.value){
alert("Please Enter Your Email Address");
form.email.focus();
form.email.select();
return false;
}

if (! (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(form.email.value))){
alert("Invalid E-mail Address")
form.email.focus();
form.email.select();
return false;
}

if (! form.promocode.value){

if (! form.cc_name.value){
alert("Please Enter The Name on the Credit Card");
form.cc_name.focus();
form.cc_name.select();
return false;
}

if (form.cc_type.selectedIndex == 0){
alert("Please Select Your Credit Card Type");
return false;
}

if (! form.cc_num.value){
alert("Please Enter Your Credit Card Number");
form.cc_num.focus();
form.cc_num.select();
return false;
}

 str = form.cc_num.value
 var validChars = '0123456789';
 for (var j = 0; j < str.length; j++){
   if(validChars.indexOf(str.charAt(j)) == -1) {
 alert("Your credit card can only contain numbers with no spaces.")
form.cc_num.focus();
form.cc_num.focus();
return false;
 }
 }


if (! Mod10(form.cc_num.value)){
alert("Invalid Credit Card #.  Please double check");
form.cc_num.focus();
form.cc_num.focus();
return false;
}


if (form.cc_exp_month.selectedIndex == 0){
alert("Please Select Your Credit Card Expiration Month");
return false;
}

if (form.cc_exp_year.selectedIndex == 0){
alert("Please Select Your Credit Card Expiration Year");
return false;
}

}

if (form.sfflogin.value == 'no'){

if (! form.pass.value){
alert("Please Create A My/SFF Password");
form.pass.focus();
form.pass.select();
return false;
}


 str = form.pass.value
 var validChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-';
 if ((str.length < 3)) {
 alert("Your password must be at least 3 characters.")
 form.pass.focus();
 form.pass.select();
 return false;
 }
 for (var j = 0; j < str.length; j++){
   if(validChars.indexOf(str.charAt(j)) == -1) {
 alert("Your password can only contain letters and numbers.")
 form.pass.focus();
 form.pass.select();
 return false;
 }
 }
	Ctrl = form.pass2;
	if (Ctrl.value =="") {
		validatePromt(Ctrl,"Please Confirm Your Password");
		return false;
	}
	if (form.pass.value != form.pass2.value) {
		validatePromt(Ctrl,"Your passwords do not match");
 		form.pass2.focus();
 		form.pass2.select();
		return false;
	}

    var modules_output = '';

    for (var i=0;i < 14;i++) {
         if (form.interests[i].checked) {
		if (modules_output != ''){
             modules_output += ', '+form.interests[i].value;
		} else {
             modules_output += form.interests[i].value;
		}
         }
     }

   form.interestsopp.value = modules_output;

}

flag = 1;
return true;
}



function showStatus(sMsg) {
    window.status = sMsg ;
    return true ;
}

function showcart() {

    	var strURL = "/inc_js/viewcart.php";
        var querystring = "view=yes"
	var xmlHttpReq = false;

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
            if (xmlHttpReq.overrideMimeType) {
                xmlHttpReq.overrideMimeType('text/xml');
	    }
    }
    // IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            updatecart(xmlHttpReq.responseText);
        }
    }
	//alert(querystring);
    xmlHttpReq.send(querystring);
}

function updatecartitems(pid) {

    	var strURL = "/inc_js/viewcart.php";
        var querystring = "update=yes&sh="+pid
	var xmlHttpReq = false;

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
            if (xmlHttpReq.overrideMimeType) {
                xmlHttpReq.overrideMimeType('text/xml');
	    }
    }
    // IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            updatecart(xmlHttpReq.responseText);
        }
    }
	//alert(querystring);
    xmlHttpReq.send(querystring);
}

function updatecart(str){

	var strarray = str.split("~~~~");


    document.getElementById("viewcart").innerHTML = strarray[0];
    document.getElementById("totalprice").innerHTML = "$"+strarray[1];

	if (strarray[2] == 'yes'){
	var panelToShow = document.getElementById("billform");
	panelToShow.style.display = 'inline';
	panelToShow.style.display = 'block';
	
	} else {
	var panelToShow = document.getElementById("billform");
	panelToShow.style.display = 'none';
	}
}

function showmodPanel(panelshow, panelhide)
{
	var panelToShow = document.getElementById(panelshow);
	var panelTohide = document.getElementById(panelhide);
	
	// Show the panel
	panelToShow.style.display = 'inline';
	panelToShow.style.display = 'block';

	panelTohide.style.display = 'none';
}

function add_cart(pid) {


	if (document.ticketqty){
		var qty = eval("document.ticketqty.qty_"+pid+".options[document.ticketqty.qty_"+pid+".options.selectedIndex].value");
	} else {
		var qty=1;
	}

    	var strURL = "/inc_js/add_cart.php";
        var querystring = "pid="+pid+"&qty="+qty;
	var xmlHttpReq = false;

	//showmodPanel('mycart2', 'mycart1');

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
            if (xmlHttpReq.overrideMimeType) {
                xmlHttpReq.overrideMimeType('text/xml');
	    }
    }
    // IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            updatepage2(xmlHttpReq.responseText);
        }
    }
	//alert(querystring);
    xmlHttpReq.send(querystring);

    alert("Tickets have been added to your cart.\r\n\r\nYou can view your cart and checkout via the right pane -->");
}

function add_mysff(pid) {

    	var strURL = "/inc_js/add_mysff.php";
        var querystring = "pid="+pid;
	var xmlHttpReq = false;

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
            if (xmlHttpReq.overrideMimeType) {
                xmlHttpReq.overrideMimeType('text/xml');
	    }
    }
    // IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            xmlHttpReq.responseText;
        }
    }
	//alert(querystring);
    xmlHttpReq.send(querystring);

    alert("Item has been added to your My/SFF account.");
}

function delete_prod(pid) {

    	var strURL = "/inc_js/add_cart.php";
        var querystring = "delete=yes&pid="+pid;
	var xmlHttpReq = false;

	showmodPanel('mycart2', 'mycart1');

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
            if (xmlHttpReq.overrideMimeType) {
                xmlHttpReq.overrideMimeType('text/xml');
	    }
    }
    // IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            updatepage2(xmlHttpReq.responseText);
        }
    }
	//alert(querystring);
    xmlHttpReq.send(querystring);
}

function view_cart() {

    	var strURL = "/inc_js/cart.php";
        var querystring = "";
	var xmlHttpReq = false;

	showmodPanel('mycart2', 'mycart1');

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
            if (xmlHttpReq.overrideMimeType) {
                xmlHttpReq.overrideMimeType('text/xml');
	    }
    }
    // IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            updatepage2(xmlHttpReq.responseText);
        }
    }
	//alert(querystring);
    xmlHttpReq.send(querystring);
}


function view_cartsa() {

    	var strURL = "/inc_js/cart.php";
        var querystring = "";
	var xmlHttpReq = false;

	showmodPanel('mycart2', 'mycart1');

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
            if (xmlHttpReq.overrideMimeType) {
                xmlHttpReq.overrideMimeType('text/xml');
	    }
    }
    // IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            updatepage3(xmlHttpReq.responseText);
        }
    }
	//alert(querystring);
    xmlHttpReq.send(querystring);
}

function updatepage2(str){

	var strarray = str.split("~~~~");

    document.getElementById("result").innerHTML = strarray[0];
//    document.getElementById("cartitems").innerHTML = "("+strarray[1]+" items)";

	location.href='#pagecart';


}

function updatepage3(str){

	var strarray = str.split("~~~~");

    document.getElementById("result").innerHTML = strarray[0];
    //document.getElementById("cartitems").innerHTML = "("+strarray[1]+" items)";


}

function updatepage(str){
    document.getElementById("result").innerHTML = str;
}