/* do not change */

function init_post_request() {

  this.fn_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    this.fn_request = new XMLHttpRequest();
    if (this.fn_request.overrideMimeType) {
      this.fn_request.overrideMimeType('text/html');
    }
  }
	else if (window.ActiveXObject) { // IE
    try {
      this.fn_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
       try {
         this.fn_request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (e) {}
    }
  }
  if (!this.fn_request) {
    alert('Cannot create XMLHTTP instance');
    return false;
  }

}

function post_request(obj, url, parameters) {

  obj.open('POST', url, true);
  obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  obj.setRequestHeader("Content-length", parameters.length);
  obj.setRequestHeader("Connection", "close");
  obj.send(parameters);

}

function build_query(frm) {
  var str = "";
  var element, i = 0;
  while ((element = document.getElementById(frm).elements[i++]) != null) {
      var qc = toQueryComponent(element);
      if (qc != "") str += "&" + qc;
  }
  return str.substring(1);
}

function toQueryComponent(input) {
    if (!input.name || input.disabled)
        return "";

    var n = urlencode(input.name);

    switch (input.type) {
    case "text":
    case "password":
    case "submit":
    case "hidden":
        return n + "=" + urlencode(input.value);
    case "textarea":
        // normalize line breaks as CR LF pairs as per RFC 1866
        var v = input.value.split(/\r\n|\r|\n/).join("\r\n");
        return n + "=" + urlencode(v);
    case "checkbox":
    case "radio":
        if (!input.checked)
            return "";
        //var v = getRealValue(input);
				var v = input.value;
        if (v === null) v = "on";
        return n + "=" + urlencode(v);
    case "select-one":
    case "select-multiple":
        var nvp = [];
        var opt, i = 0;
        while ((opt = input.options[i++]) != null) {
            if (opt.selected) {
                var v = getRealValue(opt);
                if (v === null) v = opt.text;
                // older versions of IE do not support Array.push
                nvp[nvp.length] = n + "=" + urlencode(v);
            }
        }
        return nvp.join("&");
    default:
        // input types reset, button, image, and file not implemented
        return "";
    }
}

function urlencode(str) {
    var v;
    try { v = encodeURIComponent(str); } catch (e) { v = escape(str); }
    return v.replace(/%20/g,"+");
}

function getRealValue(input) {
    var attr = input.getAttributeNode("value");
    return (attr && attr.specified) ? input.getAttribute("value") : null;
}

function launch_js(data) {
  // RegExp from prototype.sonio.net

  data = data.replace("<!--", "");
  data = data.replace("-->", "");

  var ScriptFragment = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';

  var match    = new RegExp(ScriptFragment, 'img');
  var scripts  = data.match(match);

    if(scripts) {
        var js = '';
        for(var s = 0; s < scripts.length; s++) {
            var match = new RegExp(ScriptFragment, 'im');
            js += scripts[s].match(match)[1];
        }
        eval(js);
    }
}

/* end of do not change  */
var sc_request;
var active_sc_info = "";

function add_to_cart(pro_id, qty, size) {

  error_msg = "";

	if (active_sc_info != "") {
	  //document.getElementById(active_sc_info).style.display = "none";
	}

	if(qty == "" || qty == 0){
		qty = 1;
	}

	active_sc_info = "scinfo" + pro_id;

    var url   = "/ajax/shopping_cart.ajx.php";
    var query = "cmd=add_to_cart&pro_id=" + pro_id + "&qty=" + qty + "&size=" + size;

    tmp_http_req   = new init_post_request();
    sc_request     = tmp_http_req.fn_request;

    sc_request.onreadystatechange = update_sc_info;

    post_request(sc_request, url, query);

	return(false);

}
function update_sc_info() {

  if (sc_request.readyState == 4 || sc_request.readyState == "complete") {
    data = sc_request.responseText;
	var mytool_array=data.split("<>");
	document.getElementById('num_item').innerHTML=mytool_array[0];
	document.getElementById('price_items').innerHTML=mytool_array[1];
	document.getElementById('cart_info_detail').innerHTML = mytool_array[2];
	document.getElementById('cart_info').style.display="block";
	}

}

function close_pop_up() {
  document.getElementById(active_sc_info).style.display = "none";
}

var form_update_req = ""

function update_rego_form() {

	for (i = 0; i <= 2; i++) {
		if (document.getElementById('reg_type_' + i).checked) {
			rego_type = i;
			break;
		}
	}

	var url   = "/ajax/rego_details.ajx.php";
  var query = "reg_type=" + rego_type + "&amp;step=" + document.getElementById('step').value;

  tmp_http_req    = new init_post_request();
  form_update_req = tmp_http_req.fn_request;

  form_update_req.onreadystatechange = update_form_details;

  post_request(form_update_req, url, query);

}

function update_form_details() {

	if (form_update_req.readyState == 4 || form_update_req.readyState == "complete") {
    data = form_update_req.responseText;
		document.getElementById('rego_details').innerHTML = data;
	}

}

var team_name_req = ""

function validate_team_name() {
	/*
  if (document.getElementById('team_name')) {
    document.getElementById('team_name').value = document.getElementById('new_team_name').value;  
  } */ 

  //if (document.getElementById('team_name').value != "") {   
    var url   = "/ajax/team_names.ajx.php";    
    var query = "new_team_name=" + document.getElementById('team_name').value + "&team_id=" + document.getElementById('team_id').value;
    
    tmp_http_req  = new init_post_request();
    team_name_req = tmp_http_req.fn_request;

    team_name_req.onreadystatechange = show_team_name_status;

    post_request(team_name_req, url, query);
  //}

}

function show_team_name_status() {

	if (team_name_req.readyState == 4 || team_name_req.readyState == "complete") {
    data = team_name_req.responseText;
    document.getElementById('team_name_status').innerHTML = data;
	}

}

var team_name_req = ""

function validate_new_team_name() {
	/*
  if (document.getElementById('team_name')) {
    document.getElementById('team_name').value = document.getElementById('new_team_name').value;  
  } */ 

  //if (document.getElementById('team_name').value != "") {   
    var url   = "/ajax/team_names.ajx.php";    
    var query = "new_team_name=" + document.getElementById('new_team_name').value + "&team_id=" + document.getElementById('team_id').value;
    
    tmp_http_req  = new init_post_request();
    team_name_req = tmp_http_req.fn_request;

    team_name_req.onreadystatechange = show_new_team_name_status;

    post_request(team_name_req, url, query);
  //}

}

function show_new_team_name_status() {

	if (team_name_req.readyState == 4 || team_name_req.readyState == "complete") {
    data = team_name_req.responseText;
    document.getElementById('new_team_name_status').innerHTML = data;
	}

}

var team_id_req = ""

function validate_team_id() {
 
  //if (document.getElementById('team_id').value != "") { 
    var url   = "/ajax/team_names.ajx.php";
    var query = "team_id=" + document.getElementById('team_id').value;

    tmp_http_req  = new init_post_request();
    team_id_req = tmp_http_req.fn_request;

    team_id_req.onreadystatechange = show_team_id_status;

    post_request(team_id_req, url, query);
 // }

}

function show_team_id_status() {

	if (team_id_req.readyState == 4 || team_id_req.readyState == "complete") {
    data = team_id_req.responseText;
    document.getElementById('team_id_status').innerHTML = data;
	}

}

var company_id_req = ""

function validate_company_id() {
 
  //if (document.getElementById('team_id').value != "") { 
    var url   = "/ajax/company.ajx.php";
    var query = "company_id=" + document.getElementById('sponsor_code').value;

    tmp_http_req  = new init_post_request();
    company_id_req = tmp_http_req.fn_request;

    company_id_req.onreadystatechange = show_company_id_status;

    post_request(company_id_req, url, query);
 // }

}

function show_company_id_status() {

	if (company_id_req.readyState == 4 || company_id_req.readyState == "complete") {
    data = company_id_req.responseText;
    document.getElementById('company_id_status').innerHTML = data;
	}

}


var editor_request;
var editor_id = "";

function launch_editor(fundraising_type) {
  
  if (editor_id != "") {
    document.getElementById('editor_' + editor_id).style.display = "none"; 
  }
  
  var url   = "/ajax/fundraising_editor.ajx.php";
  var query = "fundraising_type=" + fundraising_type;
  editor_id = fundraising_type;

  tmp_http_req   = new init_post_request();
  editor_request = tmp_http_req.fn_request;

  editor_request.onreadystatechange = show_fundraising_editor;

  post_request(editor_request, url, query);
  
}

function show_fundraising_editor() {
  
  if (editor_request.readyState == 4 || editor_request.readyState == "complete") {    
    data = editor_request.responseText;
    //alert(data);
    document.getElementById('editor_' + editor_id).innerHTML = data;
    document.getElementById('editor_' + editor_id).style.display = "block";
    document.getElementById('editor_' + editor_id).focus();
	}
  
}

function close_fundraising_page() {
  document.getElementById('editor_' + editor_id).style.display = "none";
  document.getElementById('editor_' + editor_id).innerHTML     = "";
  editor_id = "";
}

var save_req;

function save_fundraising_page() {
  
  //if (editor_id != "") {
    
    var oEditor = FCKeditorAPI.GetInstance('content') ;
    document.getElementById('content').value = oEditor.GetXHTML(true) ;
    
    var url   = "/ajax/fundraising_editor.ajx.php";    
    var query = "&cmd=save_page&fundraising_type=" + editor_id + "&content=" + urlencode(document.getElementById('content').value);
    
    tmp_http_req = new init_post_request();
    save_req     = tmp_http_req.fn_request;
  
    save_req.onreadystatechange = show_page_status;
  
    post_request(save_req, url, query);  
  //}
    
}

function show_page_status() {
  
  if (save_req.readyState == 4 || save_req.readyState == "complete") {    
    data = save_req.responseText;
    alert(data);
    //document.getElementById('editor_' + editor_id).innerHTML = data;    
	}
  
}

var delete_file_req;
var active_file_div = "";

function delete_fundraising_file(fundraising_type) {
  
  if (confirm('Are you sure?')) {
    var url   = "/ajax/fundraising_editor.ajx.php";
    var query = "cmd=delete_file&fundraising_type=" + fundraising_type;
    
    active_file_div = fundraising_type;
    tmp_http_req    = new init_post_request();
    delete_file_req = tmp_http_req.fn_request;
  
    delete_file_req.onreadystatechange = update_file_links;
  
    post_request(delete_file_req, url, query);  
  }  
  
}

function update_file_links() {
  
  if (delete_file_req.readyState == 4 || delete_file_req.readyState == "complete") {    
    data = delete_file_req.responseText;
    if (data == "OK") {
      alert("Image has been successfully deleted.\n");
      document.getElementById('img_' + active_file_div).innerHTML = "";
    }
    else {
      alert("File deletion attempt has failed!\n");
    }
	}
  
}
var tempid="";
function deleted_shoppingcart(temp_id){
	var url   = "/ajax/shopping_cart.ajx.php";
	var query = "cmd=deleted_from_cart&pro_id=" + temp_id;
	tempid=temp_id;
	tmp_http_req   = new init_post_request();
	sc_request     = tmp_http_req.fn_request;

	sc_request.onreadystatechange = update_sc;

	post_request(sc_request, url, query);

	return(false);
}

function update_sc(){
	if (sc_request.readyState == 4 || sc_request.readyState == "complete") {
		data = sc_request.responseText;
		var mytool_array=data.split("<>");
		document.getElementById('form' + tempid).style.display="none";
		document.getElementById('num_item').innerHTML=mytool_array[0];
		document.getElementById('price_items').innerHTML=mytool_array[1];
	}
}

function edit_list(temp_id,qty_temp){
	document.getElementById('qtyinput' + temp_id).type="text";
	document.getElementById('qtyinput' + temp_id).focus();
	document.getElementById('temp_qty'+temp_id).style.display="none";
	
}
function update_cart(temp_id){
	document.getElementById('temp_qty'+temp_id).innerHTML=document.getElementById('qtyinput' + temp_id).value;
	document.getElementById('temp_qty'+temp_id).style.display="block";
	document.getElementById('qtyinput' + temp_id).type="hidden";
}
