/**
* edit_tool_utilities is meant to be a general function repository for
* edit_tools such as edit_simple, edit_calendar etc.
* These are functions which more than one edit tools needs.
**/


function get_element_position( html_id ){
	
	var pos_id = "#" + html_id;
	var position = new Array();
	position['posX'] = Math.round($(pos_id).offset().left);
    position['posY'] = Math.round($(pos_id).offset().top);
	//alert( "Edit tool util: x:" + position['posX'] + " y:" + position['posY'] );
	return position;
}

function get_url_variable( key, query ) {
    var first = query.split("?");
	var vars = first[1].split("&");	
	for( var i = 0; i < vars.length; i++ ) { 
    	var pair = vars[i].split("=");
    	//alert('key found: ' + pair[0] + ' var found:' + pair[1] );
    	if (pair[0] == key) { 
      		return pair[1];
    	}
  	}  
  	//alert('Query Variable ' + key + ' not found');
  	return "var not found";
}//fun guv 

function get_script_uri( query ){
	var parts = query.split("?");
	//alert("From edit tool util: " + parts[0] );
	return parts[0];
}//fun gsu

//Publisher now extracts and brings here the field_type
function extract_field_type( ){    
	my_ele = orig_element_id;	
	parts = my_ele.split('_');
	return parts[1];
}

/**
 * Dumps a javascript array just like in php.
 * Does NOT work on json encoded arrays.
 */
function var_dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

/**This is not used and may be erased at some point
 * Function takes a json encoded array that looks so:
 *  $some_data[0]['column_name'] = 'city';
 *  $some_data[1]['column_name'] = 'state';
 *  $some_data[0]['city'] = 'Baltimore';
 *  $some_data[1]['city'] = 'Helsinki';
 *  .
 *  .
 *  $some_data[2]['state'] = 'Germany';
 *  $newanarray = json_encode($some_data);
 *  
 *  @param array result
 *  @return array columns
 */
function get_json_result_coumns( result ){
	var columns = new Array(); var index = 0;
	for( each in result ){
		if( result[each].column_name ){ columns[index] = result[each].column_name; }
		index++;
	}
	return columns;
}


function clear_input( input_name, defualt_text ){
  $input_value = document.getElementsByName( input_name )[0].value;
//  if( $input_value == defualt_text )
//  {
    document.getElementsByName( input_name )[0].value = '';
    return true;
//  }
}


function pressbutton(bt){
	bt.value = "Please wait...";
}


function get_browser_type(){

	var agt = navigator.userAgent.toLowerCase();
	
	if (agt.indexOf("opera")    != -1) 	return 'opera';	
	if (agt.indexOf("firefox")  != -1) 	return 'mozilla';
	if (agt.indexOf("safari")   != -1) 	return 'safari';	
	if (agt.indexOf("msie")     != -1) 	return 'explorer';
	if (agt.indexOf("netscape") != -1) 	return 'netscape';
	
}//fun


function include(filename){
	var head = document.getElementsByTagName('head')[0];
	
	script = document.createElement('script');
	script.src = filename;
	script.type = 'text/javascript';
	
	head.appendChild(script)
}


