/* prepare simple Ajax */

var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
  http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
  http = new XMLHttpRequest();
}

function js_getRandomKey(my_length, my_option) {
	var my_key = '';
		switch (my_option) {
			case 'ab':
			    my_array = new Array('a','b','c','d','e','f','g','h','i','j','k','l',
		                 'm','n','o','p','r','s',
		                 't','u','v','x','y','z');
		break;
		case 'ab12':
			    my_array = new Array('a','b','c','d','e','f','g','h','i','j','k','l',
		                 'm','n','p','r','s',
		                 't','u','v','x','y','z','1','2','3','4','5','6','7','8','9');
		break;
	
		case 'Ab':
		    my_array = new Array('a','b','c','d','e','f','g','h','i','j','k','l',
		                 'm','n','o','p','r','s',
		                 't','u','v','x','y','z',
		                 'A','B','C','D','E','F',
		                 'G','H','I','J','K','L',
		                 'M','N','O','P','R','S',
		                 'T','U','V','X','Y','Z');
		break;
		
		case 'AB12':
		    my_array = new Array('A','B','C','D','E','F',
		                 'G','H','I','J','K','L',
		                 'M','N','P','R','S',
		                 'T','U','V','X','Y','Z','1','2','3','4','5','6','7','8','9');
		break;
		
		case '12':
		    my_array = new Array('0','1','2','3','4','5','6','7','8','9');
		break;
	
		default:
		    my_array = new Array('a','b','c','d','e','f','g','h','i','j','k','l',
	                 'm','n','o','p','r','s',
	                 't','u','v','x','y','z',
	                 'A','B','C','D','E','F',
	                 'G','H','I','J','K','L',
	                 'M','N','O','P','R','S',
	                 'T','U','V','X','Y','Z',
					 '0', '1','2','3','4','5','6','7','8','9');
		break;
		}	
		
	    for(i=0;i<my_length; i++) {
		    my_key += my_array[Math.round(Math.random()*(my_array.length-1))];
	    }
		
	return  my_key;	
}

function ajax_replace(my_id, filename, method) {
document.getElementById(my_id).innerHTML = 'Loading...';
document.getElementById(my_id).scrollTop = 0;
document.getElementById(my_id).scrollLeft = 0;
      http.open(method, filename, true);
      http.onreadystatechange=function() {
        if(http.readyState == 4) {
		  document.getElementById(my_id).innerHTML = http.responseText;
        }
      }
      http.send(null);
}

function ajax_getPage(my_id, my_http) {
document.getElementById(my_id).innerHTML = 'Loading...';
document.getElementById(my_id).scrollTop = 0;
document.getElementById(my_id).scrollLeft = 0;
      http.open("GET", my_http, true);
      http.onreadystatechange=function() {
        if(http.readyState == 4) {
		  document.getElementById(my_id).innerHTML = http.responseText;
        }
      }
      http.send(null);
}


function ajax_getAlert(request) {
  http.abort();
  http.open("GET", request, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
		alert(http.responseText);
    }
  }
  http.send(null);
}

function ajax_requestAlert(request) {
  http.abort();
  http.open("GET", request, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
		alert(http.responseText);
		//document.getElementById(field).innerHTML = http.responseText;
    }
  }
  http.send(null);
}

function ajax_createXMLHttp() {
	if(typeof XMLHttpRequest != "undefined") { // Mozilla
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) { // IE
		var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
                   "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp",
                   "Microsoft.XMLHttp"
                   ];
		for (var i = 0; i < aVersions.length; i++) {
			try {
				var ajax_XMLHttp = new ActiveXObject(aVersions[i]);
				return ajax_XMLHttp;
			} catch (ajax_error) { 

            }
          }
		throw new Error("Cannot create XMLHttp object.");
	}
}
    
	
function ajax_getRequestBody(form_name) { 
	var my_params = new Array();
		for(var i = 0; i < form_name.elements.length; i++) {
		  var my_param = encodeURIComponent(form_name.elements[i].name);
		  my_param += "=";
		if(form_name.elements[i].type=="checkbox" && form_name.elements[i].checked == false){
			my_param += "0";
		} else {
			my_param += encodeURIComponent(form_name.elements[i].value);
		}
			my_params.push(my_param);
		}
	return my_params.join("&");
}  
     /*  
function ajax_getRequestBody(form_name) { 
	var my_params = new Array();
		for(var i = 0; i < form_name.elements.length; i++) {
		  var my_param = encodeURIComponent(form_name.elements[i].name);
		  my_param += "=";
		  my_param += encodeURIComponent(form_name.elements[i].value);
		  my_params.push(my_param);
		 }
		return my_params.join("&");
      }
	  */

function ajax_postForm(form_name, update_id) {
        var my_form = document.forms[form_name];
        var my_body = ajax_getRequestBody(my_form);
        var ajax_XMLHttp = ajax_createXMLHttp();
        
        ajax_XMLHttp.open("POST",my_form.action, true);
        ajax_XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        
        ajax_XMLHttp.onreadystatechange = function() {
          if(ajax_XMLHttp.readyState == 4) {
            if(ajax_XMLHttp.status == 200) {
              ajax_updateID(update_id, ajax_XMLHttp.responseText);
            } else {
              ajax_updateID(update_id, "Error " + ajax_XMLHttp.statusText);
            }
          }
        };
        
        ajax_XMLHttp.send(my_body);
      }
      
function ajax_updateID(id, content) {
        var my_element = document.getElementById(id);
        my_element.innerHTML = content;
}

function cleanField(current_value, default_value){
	switch(true){
		case current_value == default_value:
			return '';
		break;
		default:
			return current_value;
		break;
	}
}


function js_checkAll(form_id){
	var form = document.getElementById(form_id);
    for (i=0; i < form.elements.length; i++) {
		if(form.elements[i].checked == "checked" && form.elements[i].value != '') {
			form.elements[i].checked = false
		} else if (form.elements[i].value != '') {
			form.elements[i].checked = "checked";
		}
	}
}

function markTableItems(my_elements){
	 var checkboxes = document.getElementsByName(my_elements);
	 for (i=0; i < checkboxes.length; i++) {
		if(checkboxes[i].checked == true) {
			checkboxes[i].checked = false
		} else {
			checkboxes[i].checked = true;
		}
	}
}

function js_vote(request, replace_id) {
	http.abort();
	http.open("GET", "?com=vote&act=make&"+request, true);
	http.onreadystatechange=function() {
        if(http.readyState == 4) {
		  document.getElementById(replace_id).innerHTML = http.responseText;
        }
      }
	http.send(null);
}

function simple_windowopen(name, href, width, height) {
	window.open(href, name,'resizable=no,location=no,menubar=no,scrollbars=yes,status=yes,toolbar=no,fullscreen=no,dependent=no,width='+width+',height='+height+',status');
	return false;
}


function music(action){
    window.document.flash.SetVariable("music", action);
}

function display(id){
	if(document.getElementById(id).style.display == "none") {
		document.getElementById(id).style.display = "block";
	} else {
		document.getElementById(id).style.display = "none";
	}
}
	
function displayid(id, action){
	switch(action) {
		case 'none':
		document.getElementById(id).style.display = "none";
		break;
		
		case 'block':
		document.getElementById(id).style.display = "block";
		break;
	}
	return false;
}
	
function showhideid(id)
	{
	switch(true) {
		case document.getElementById(id).style.display == "block":
		document.getElementById(id).style.display = "none";
		break;

		default:
		document.getElementById(id).style.display = "block";
		break;
	}
	}

function validate_field(field, value, frm) {
		var email_r = new RegExp("email");
		switch(true) {
		case field=='email':
		case email_r.test(field):
		part1=value.indexOf("@")
		part2=value.lastIndexOf(".")
		if (part1<1||part2-part1<2) {return false} else {return true}		
		break

		case field=='password':
		if (value!=frm.password_repeat.value||value.length<6) {
			frm.password_repeat.style.borderBottom = '2px solid #FF0000';
			return false
		} else {
			frm.password_repeat.style.borderBottom = '1px solid #00AA00';
			return true
		}
		break
		
		case field=='username':
		if (value==null||value==""||value.length<2)  {return false} else {return true}
		break
		
		case field=='seccode':
		if (value.length>3)  {return true} else {return false}
		break;
		
		case frm[field].type=='checkbox':
		    if(frm[field].checked == false) {
				frm[field].style.outline = '2px solid #FF0000'; // mozilla
				return false
			} else {
				frm[field].style.outline = '1px solid #00AA00'; // mozilla
				return true
			}	
		break
		
		default:
			if (value==null||value==0)  {return false} else {return true}
		break
	}
}

function validate_form(form_id, array_fields, error_msg) {
var frm = document.getElementById(form_id);
var fields=array_fields.split(", ");
var alert_msg='';
var field='';
//alert(formname);
for (i=0;i<fields.length;i++) {
	if (validate_field(fields[i], frm[fields[i]].value, frm)==false) {
		alert_msg = 1;
		frm[fields[i]].style.border = '2px solid #FF0000';
		} else {
		//alert_msg = 0;
		frm[fields[i]].style.border = '1px solid #00AA00';
		};
}
	
	if (alert_msg == 1) {
		// scroll(0,0);
		alert(error_msg);
		return false;
	} else {
		if(frm['submit']){
			frm['submit'].disabled=true;
			frm['submit'].value='Loading...';
		}
		//displayid('web', 'none');
		//displayid('loading', 'block');
		return true;
	}
	
}


function url2frame(id, url) {
	document.getElementById('frame_content').src=url;
	document.getElementById('layer0').style.display="block";
}

function js_confirmUrl(url, msg) {
	if (confirm(msg)) {
		window.open(url, '_self');
	}
}

function confirm_msg(msg){
	if (confirm(msg)) {
		return true;
	} else {
		return false;
	}
}

function fillSelect(selectName, optionArray, selectedItem) {
	var i, j;

	for (i = selectName.options.length; i > 0; i--) {
		selectName.options[i] = null; 
	}
	
	if (optionArray != null) {

		//for (i = 0; i < optionArray.length; i++) {
		for (key in optionArray) {
				selectName.options[i+1] = new Option(optionArray[key]);
				selectName.options[i+1].value = key; 
				i++;
				
			//}
		}
		}		
	if (selectedItem != null) {	
	selectName.options[selectedItem].selected = true;
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
 
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
 
function eraseCookie(name) {
	createCookie(name,"",-1);
}


function testCookie() {
	createCookie("test",1,1);
	if(readCookie("test") == 1){
		return true;
	} else {
		return false;
	}
}


function putToCart(name, value, cart_id) {

if(testCookie() == true) {
	var bin = document.getElementById(cart_id);
	if(readCookie(name) == value){
		eraseCookie(name);
	} 	
	createCookie(name,value,1)
	// alert('Saved: '+name);
	checkCart(cart_id);
	//bin.innerHTML=Number(bin.innerHTML)+Number(value);
	return true;
} else {
	alert('Cookies is not allowed in your computer!');
	return false;
}

}

function addToCart(name, value, bin_name) {

if(testCookie() == true) {
	var bin = document.getElementById(bin_name);
	if(readCookie(name) == value){
		eraseCookie(name);
		// alert('Deleted: '+name);
		bin.innerHTML--;
		return true;
	} else {
		createCookie(name,value,1)
		// alert('Saved: '+name);
		bin.innerHTML++;
		return true;
	}
} else {
	alert('Cookies is not allowed in your computer!');
	return false;
}

}

function cart_removeItem(name, bin_name) {
	var bin = document.getElementById(bin_name);
	eraseCookie(name);
}

function checkCart(cart_id) {
	var ca = document.cookie.split('; ');
	var b_sum = 0;
	for(var i=0;i < ca.length;i++) {
		var ci = ca[i].split('=');
		var cookie_name = ci[0].split('_');
		if(cookie_name[1] > 0 && ci[1] > 0) {
			//alert(cookie_name[1]);
			b_sum=Number(b_sum)+Number(ci[1]);
		}
	}
	var bin = document.getElementById(cart_id);
	bin.innerHTML = b_sum;
}

function table_action(action, form_id, msg) {
	var form = document.getElementById(form_id);
	switch(true) {
		case action=='delete':
			if (!confirm(msg)) {
				return false;		
			}
		break
	}
	form.action+="&act="+action;
	form.submit();
}